首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >maven-assembly-plugin和JVM版本

maven-assembly-plugin和JVM版本
EN

Stack Overflow用户
提问于 2011-04-19 10:28:47
回答 2查看 3.9K关注 0票数 1

是否可以使用maven-assembly-plugin创建JAR,并设置特定的编译器版本?

谢谢

更新:

我的意思是:maven-compiler-plugin

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-04-19 15:02:05

您不能真正设置编译器版本(因为maven使用已安装的版本),但您可以在maven编译器插件上配置源代码和目标级别:

代码语言:javascript
复制
<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版开始就有了。

票数 2
EN

Stack Overflow用户

发布于 2011-04-19 15:05:27

正如khmarbaise在评论中解释的那样,assembly插件只是在这里将一些项目输出聚合到一个包中(例如ZIP )。此步骤不涉及JVM。

你到底想要达到什么目的?要指定用于构建JAR的JVM的版本,您可以简单地这样做:

代码语言:javascript
复制
  <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时激活配置文件。例如:

代码语言:javascript
复制
<profiles>
  <profile>
    <activation>
      <jdk>1.4</jdk>
    </activation>
    ...
  </profile>
</profiles>

在这种情况下,如果您使用的是JVM 1.4,您的配置文件将被激活。如果您使用的是Maven 2.1+,您还可以使用一个值范围:

代码语言:javascript
复制
<profiles>
  <profile>
    <activation>
      <jdk>[1.3,1.6)</jdk>
    </activation>
    ...
  </profile>
</profiles>

此配置文件将在1.3 (包含)到1.6 (不包括)之间的所有版本中激活,即1.3、1.4和1.5。

使用它,您将能够根据所使用的JVM版本为您的构建配置任何插件。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5710958

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档