大家好,又见面了,我是你们的朋友全栈君。
最新修改 以前写的打包方式可能看起来有些繁琐,这里给出进一步简洁的解决方案简单粗暴
写在前面:
这两天一直在整(gu)理(dao)IDEA 用Maven打jar包,网上的教程是各式各样,但是都不能满足我的需求(或者 还没有找个正确的),因此 综合网上的内容 自己整理了一下(以下内容是在mac系统下 win 可能有一些地方不一样)。
软件环境:
IDEA:2017.1.5
Maven:3.3.9
打jar包:
Maven 打包
如果要打包scala代码需要添加插件: 方案一:
<plugin>
<groupId>net.alchim31.maven</groupId>
<artifactId>scala-maven-plugin</artifactId>
<version>3.4.0</version>
<executions>
<execution>
<goals>
<goal>compile</goal>
<goal>testCompile</goal>
</goals>
</execution>
</executions>
</plugin>
方案二:
<plugin>
<groupId>org.scala-tools</groupId>
<artifactId>maven-scala-plugin</artifactId>
<version>2.15.2</version>
<executions>
<execution>
<goals>
<goal>compile</goal>
<goal>testCompile</goal>
</goals>
</execution>
</executions>
</plugin>
推荐方案一,方案二中的插件最新更新日期是2011年
简单粗暴 将下面的任意一种方案放到pom文件中,并修改成自己项目中的MainClass即可
</plugins>
</build>
方案一 or 方案二
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>3.0.0</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<transformers>
<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
<mainClass>com.test.MainClass</mainClass> <!--带有包路径的MainClass -->
</transformer>
</transformers>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.4</version>
<configuration>
<archive>
<manifest>
<mainClass>com.test.MainClass</mainClass> <!--带有包路径的MainClass -->
</manifest>
</archive>
<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>
本文属于作者原创,如需转载,请注明。
内部如果引用的文字,连接,图片等资源存在侵犯原作者的情况,请联系本人,立即删除。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/139237.html原文链接:https://javaforall.cn