# package-for-maven **Repository Path**: pkmer/package-for-maven ## Basic Information - **Project Name**: package-for-maven - **Description**: maven多模块打包 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2025-01-08 - **Last Updated**: 2025-01-08 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 介绍 maven多模块打包,其中`pkmer-user`和`pkmer-order`都是独立的springboot应用,打包之后都可以独立启动其jar包,并且它两都依赖了`pkmer-common` - [pkmer-common公共包](./pkmer-common) - [pkmer-user服务](./pkmer-user) - [pkmer-order服务](./pkmer-order) # 开发技术版本 - Java17 - SpringBoot3.3.0 - maven 3.9.0 # 打包 ```shell mvn clean package ``` # 执行 > 在要执行的jar目录下,运行 ```shell # 用户服务 java -jar pkmer-user-0.0.1-SNAPSHOT.jar # 订单服务 java -jar pkmer-order-0.0.1-SNAPSHOT.jar ``` # 附加说明 如打包`pkmer-user`模块之后,依赖的`pkmer-common`包,会自动添加到`pkmer-user-xxx-.jar`下的`BOOT-INF\lib`目录中 ![xx](./images/demo.png) > 打包之后`pkmer-user-xxx.jar`中的`MANIFEST.MF` ```js Manifest-Version: 1.0 Created-By: Maven JAR Plugin 3.3.0 Build-Jdk-Spec: 17 Main-Class: org.springframework.boot.loader.launch.JarLauncher Start-Class: io.gitee.pkmer.UserApplication Spring-Boot-Version: 3.3.0 Spring-Boot-Classes: BOOT-INF/classes/ Spring-Boot-Lib: BOOT-INF/lib/ Spring-Boot-Classpath-Index: BOOT-INF/classpath.idx Spring-Boot-Layers-Index: BOOT-INF/layers.idx ``` ## 打包插件配置 ## 父模块pom.xml配置 ```xml 3.3.0 org.springframework.boot spring-boot-starter-parent ${spring.boot.version} pom import org.springframework.boot spring-boot-maven-plugin ${spring.boot.version} ``` ## 服务子模块pom.xml配置 ```xml org.springframework.boot spring-boot-maven-plugin ${start.class} JAR repackage ``` # 参考 - [SpringBoot: Developing Your First Spring Boot Application](https://docs.spring.io/spring-boot/tutorial/first-application/index.html) - [SpringBoot: Packaging Executable Archives](https://docs.spring.io/spring-boot/maven-plugin/packaging.html)