前言
需求:想将一个带有第三方依赖的项目打包成一个jar包进行发布运行
书写原由:目前的打包方案大致有两种:1.使用idea进行打包
2.使用maven进行打包
针对我的需求,网络上方案1大多是将第三方依赖进行独立。方案2我感觉网络上搜出来的都有些凌乱,初学者可能会不好辨析,所以自己记录一篇以做备用
一、使用maven将项目打包成一个jar包,包括第三方依赖
1.配置pom文件,将下面代码拷入即可
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<appendAssemblyId>false</appendAssemblyId>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<archive>
<manifest>
<!-- 此处指定main方法入口的class,这里需要根据实际情况进行配置 -->
<!-- 其余的默认即可-->
<mainClass>Main</mainClass>
</manifest>
</archive>
</configuration>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>assembly</goal>
</goals>
</execution>
</executions>
</plugin>
实际效果如下图:
2.点击如下图的按钮对项目进行打包
3.使用效果
打开cmd --> cd到jar包所在的目录下 --> 输入【java -jar ****.jar】即可成功运行,如下图所示
4.可能出现的问题
·运行jar包出现【****.jar中没有主清单属性】错误
原因:pom中没有配置【mainClass节点】或者该节点路径配置存在问题,节点的位置可以看第一步中的代码
·运行jar包出现(因为我这边的第三方依赖包是oracle驱动,所以提示这个。也有可能是其它 得看你自己实际的引用情况)【java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver】
原因:依赖包没有没有打进行去,或者路径有问题。这个多出现在使用idea进行打包的时候会出现
两个问题的样例图,如下:
结语
仅当记录,如有用到 甚感荣幸 出错望告知。
有更新 会补充
转载请备明出处,LOVE & PEACE ! --- By HAN