转载

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
正文到此结束
Loading...