如何解决maven-assembly-plugin和JVM版本
| 可以使用maven-assembly-plugin
设置特定的编译器版本来创建JAR吗?
谢谢
更新:
我的意思是说:maven-compiler-plugin
解决方法
您无法真正设置编译器版本(因为maven使用已安装的版本),但是您可以在maven-compiler-plugin上配置源和目标级别:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.5.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
编辑:正如khmarbaise在注释中指出的那样,可以根据需要指定其他编译器,但是必须将fork
设置为true并指定可执行文件的路径,在通常情况下,这种路径不是您想要的并发症。但是他是对的,实际上是有可能的,而且显然是从maven编译器插件的2.0版开始的。,正如khmarbaise在评论中解释的那样,assembly
插件仅用于将一些项目输出聚合到一个包中(例如ZIP)。 JVM不参与此步骤。
您到底想实现什么?要指定用于构建JAR的JVM版本,只需执行以下操作:
<build>
...
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
</plugins>
在这种情况下,您将使用JVM 1.6编译项目。
由于我不确定要实现的目标,因此还有另一件事可能对您有用:使用特定的JVM时可以激活配置文件。例如:
<profiles>
<profile>
<activation>
<jdk>1.4</jdk>
</activation>
...
</profile>
</profiles>
在这种情况下,如果您使用的是JVM 1.4,则将激活您的配置文件。如果您使用的是Maven 2.1+,则还可以使用一系列值:
<profiles>
<profile>
<activation>
<jdk>[1.3,1.6)</jdk>
</activation>
...
</profile>
</profiles>
对于介于1.3(包括)和1.6(排除)之间的所有版本,即1.3、1.4和1.5,将激活此配置文件。
使用此功能,您将能够根据所使用的JVM版本为您的构建配置任何插件。版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。