springCloud微服务打包jar,模块过多;我的项目模块结构如下:
我把实体类相关的单独抽离一个模块在service-api下
服务单独写在service
某块下,
每个模块的jar都在target目录下,在部署的时候一个一个的拖动太麻烦,于是我们可以使用maven-antrun-plugin
将打包好的jar包移动到指定目录下,具体用法如下:
可以使用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