1.Maven项目打包操作
首先,在使用maven插件对项目进行打包 首先需要导入一下pom依赖
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>2.5.6</version>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
1.1 独立模块
如果打包的模块与其他模块不存在关联关系,直接执行package操作即可
-
首先执行clean命令,清除本地target目录文件
-
执行package,获取我们最终需要的jar包 ,如下
1.2 子项目依赖公共模块
如果项目的结构需要依赖其他模块, 如下:
1模块全部依赖于2模块,如果直接对1模块的内容进行打包, 会出现如下的问题:
[WARNING] The POM for com.xx-base:jar:1.0 is missing, no dependency information available
[ERROR] Failed to execute goal on project xx-mobi: Could not resolve dependencies for project com.xx-mobi:jar:1.0: Failed to collect dependencies at xx-base:jar:1.0: Failed to read artifact descriptor for xx-base:jar:1.0: Could not find artifact xx-root:pom:1.0 in geotoolrepo...
这是因为maven子项目(hr)在进行打包操作的时候,没有先执行公共模块(common)。
解决方案: 先对父模块(zone)执行install操作, 之后再对子模块(hr)打包即可;
2. 知识拓展
install 和 package 区别
-
install: 使用install方式就是将项目转换成为maven依赖存放在本地maven仓库中(如下图, 对父模块zone进行install操作后,本地仓库新增的文件),一般是多个项目中,例如a项目中使用了b项目的一些方法需要添加b项目作为依赖,此时就需要将b项目使用install方式打包到本地maven仓库中,以此来给a项目依赖导入调用。
-
package: 当我们使用package来打包项目的时候,就会在我们的项目中生成一个target文件夹, 在该文件夹存在一个jar包。放在服务器中可使用“java -jar jar包名” 命令运行。