需求 :想将一个带有第三方依赖的项目打包成一个jar包进行发布运行
书写原由 :目前的打包方案大致有两种:
1.使用idea进行打包
2.使用maven进行打包
针对我的需求,网络上方案1大多是将第三方依赖进行独立。方案2我感觉网络上搜出来的都有些凌乱,初学者可能会不好辨析,所以自己记录一篇以做备用
<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> 复制代码
实际效果如下图:
打开cmd --> cd到jar包所在的目录下 --> 输入【java -jar ****.jar】即可成功运行,如下图所示
·运行jar包出现【****.jar中没有主清单属性】错误
原因:pom中没有配置【mainClass节点】或者该节点路径配置存在问题,节点的位置可以看第一步中的代码
·运行jar包出现(因为我这边的第三方依赖包是oracle驱动,所以提示这个。也有可能是其它 得看你自己实际的引用情况)【java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver】
原因:依赖包没有没有打进行去,或者路径有问题。这个多出现在使用idea进行打包的时候会出现 两个问题的样例图,如下:
仅当记录,如有用到 甚感荣幸 出错望告知。 有更新 会补充
转载请备明出处,LOVE & PEACE ! --- By HAN