今天被打包多个互相依赖的maven工程困扰了3个多小时。记录一下。
- 我开始用Artificts进行打包,不知道为什么会将目前所有的依赖jar都打到工程包中,试验了很久都没有把工程包单独提出来很是郁闷。
-
后来决定改用idea自带的打包方式进行打包。
后续问题出现了。打包工程的时候一直提示找不到文件,但是我本身的项目中是存在该文件的。经过观察发现,在使用maven进行
打包的时候需要注意依赖顺序,否则无法进行打包。如图:
我本身的工程依赖于midware-api这个工程,由于我的本地仓库并没有这个工程的jar,所以需要先用idea将该工程打包并上传本地仓库。使用idea自带的maven插件找到【maven】【Lifecycle】,并按照顺序依次双击【clean】-【compile】-【package】-【install】。进行打包上传。
对依赖工程进行打包上传之后发现还是不能打包成功,排查发现有2个问题。
- 有几个在本地进行依赖的jar没有进行上传maven
- 打包上传的依赖工程并没有在pom.xml中引用
将本地引用的jar上传本地仓库的方法连接如下:
并且将依赖工程在pom.xml中引用。
<dependency>
<groupId>org.pki.core.protocol</groupId>
<artifactId>midware-api</artifactId>
<version>1.0</version>
</dependency>
之后在需要打包工程中执行【clean】-【package】即可打包成功。