用Maven给可执行程序打包,如何配置可以把依赖的jar打包到同目录的一个文件夹,比如lib中
场景:
需要往Server上上传Jar,由于包含依赖的Jar比较大,每次修改一点代码重新生成,再上传很费时间。
所以希望打包时将依赖文件和本身的代码分开打包。这样依赖的Jar只要上传一次(因为很少变动)。
然后打包自己的代码生成的Jar就很小了,可以快速地上传。
现在的pom.xml文件:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>${java-version}</source>
<target>${java-version}</target>
</configuration>
</plugin>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
如何修改来满足我的需求?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
assembly是把所有jar包都打在一个包内。除非是
<packaging>war</packaging>
模式,不然我还没找到好的做法把这些依赖归到一个目录下。不过,可以试试pack200这个工具(JDK自带的),它可以大幅压缩你打出来的jar包的大小。
参考:How to Create an Executable JAR with Maven