springCloud项目打包如何把jar发放到指定目录下
- maven-antrun-plugin
springCloud微服务打包jar,模块过多;我的项目模块结构如下:
我把实体类相关的单独抽离一个模块在service-api下
服务单独写在service
某块下,
每个模块的jar都在target目录下,在部署的时候一个一个的拖动太麻烦,于是我们可以使用maven-antrun-plugin
将打包好的jar包移动到指定目录下,具体用法如下:
maven-antrun-plugin
可以使用maven-antrun-plugin
插件
<!--要输出jar的路径--><properties><copy.jar.directory>C:/Users/xxx/Desktop/xxx/springcloudalibaba/xxx/jar/</copy.jar.directory></properties><build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-antrun-plugin</artifactId><version>3.0.0</version><executions><execution><id>copy</id><phase>package</phase><configuration><target><copy todir="${copy.jar.directory}"><fileset dir="${project.build.directory}"><include name="${project.artifactId}-${project.version}.jar" /></fileset></copy></target></configuration><goals><goal>run</goal></goals></execution></executions></plugin></plugins></build>
注意一点:就是比如项目通用的模块如:common 、entity的一些公用模块的pom文件中不需要指定打包插件
在打包前可以先把公用模块install一下安装到mavne仓库,然后在项目的最外层使用 clean、package等插件进行打包
这样,你打的jar要应用的模块的jar也会在你的jar包中:
就像我这边job-hunting
它的实体模块快我放在job-hunting-api
中,在执行install后,job-hunting.jar
中就job-hunting-api.jar