Idea中maven项目的打包问题

需求 :想将一个带有第三方依赖的项目打包成一个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>
复制代码

实际效果如下图:

Idea中maven项目的打包问题

2.点击如下图的按钮对项目进行打包

Idea中maven项目的打包问题

打开cmd –> cd到jar包所在的目录下 –> 输入【java -jar ****.jar】即可成功运行,如下图所示

Idea中maven项目的打包问题
·运行jar包出现【****.jar中没有主清单属性】错误

原因:pom中没有配置【mainClass节点】或者该节点路径配置存在问题,节点的位置可以看第一步中的代码

·运行jar包出现(因为我这边的第三方依赖包是oracle驱动,所以提示这个。也有可能是其它 得看你自己实际的引用情况)【java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver】

原因:依赖包没有没有打进行去,或者路径有问题。这个多出现在使用idea进行打包的时候会出现 两个问题的样例图,如下:

Idea中maven项目的打包问题

仅当记录,如有用到 甚感荣幸 出错望告知。 有更新 会补充

转载请备明出处,LOVE & PEACE ! — By HAN

原文 

https://juejin.im/post/5eaa489df265da7bc60dfdbb

本站部分文章源于互联网,本着传播知识、有益学习和研究的目的进行的转载,为网友免费提供。如有著作权人或出版方提出异议,本站将立即删除。如果您对文章转载有任何疑问请告之我们,以便我们及时纠正。

PS:推荐一个微信公众号: askHarries 或者qq群:474807195,里面会分享一些资深架构师录制的视频录像:有Spring,MyBatis,Netty源码分析,高并发、高性能、分布式、微服务架构的原理,JVM性能优化这些成为架构师必备的知识体系。还能领取免费的学习资源,目前受益良多

转载请注明原文出处:Harries Blog™ » Idea中maven项目的打包问题

赞 (0)
分享到:更多 ()

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址