如何将Maven配置为默认使用JDK6,但根据需要使用JDK7

原子

我的系统上同时安装了JDK 1.6和1.7(Linux在/ opt目录下)。我在路径中添加了JDK 1.6的bin目录,因此这是默认使用的Java版本。

我正在一个需要JDK 1.7的项目,而有些需要1.6的项目。以前,我在Eclipse中设置了JDK 1.7设置,但是我想将此项目转换为Maven,以便每个人都可以使用他们喜欢的编辑器。

是否可以在Maven安装/配置上指定1.7位置(而不是在POM文件中),以便默认情况下使用1.6,而在POM中指定项目要求时使用1.7?据我所知,每个项目的工作人员在其POM文件中都应具有相同的内容,因此我不愿意在此处设置Java 7目录的位置(因为每个人的机器上的Java 7目录都不同)。

$ mvn --version
Apache Maven 3.0.5 (r01de14724cdef164cd33c7c8c2fe155faf9602da; 2013-02-19 13:51:28+0000)
Maven home: /opt/apache-maven-3.0.5
Java version: 1.6.0_45, vendor: Sun Microsystems Inc.
Java home: /opt/jdk1.6.0_45/jre
Default locale: en_GB, platform encoding: UTF-8
OS name: "linux", version: "3.8.0-27-generic", arch: "amd64", family: "unix"

添加以下内容:

<build>
    <plugins>
        <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.1</version>
        <configuration>
            <source>1.7</source>
            <target>1.7</target>
        </configuration>
        </plugin>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-resources-plugin</artifactId>
        <version>2.6</version>
            <configuration>
                <outputDirectory>${project.build.outputDirectory}/resources</outputDirectory>
            </configuration>
        </plugin>
    </plugins>
</build>

结果是:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile) on project golemlite: Fatal error compiling: invalid target release: 1.7 -> [Help 1]
安德烈·史坦克(AndréStannek)

在这里看看您可以在settings.xml中设置一个属性,然后在pom中使用它。请注意,每个人都必须定义该属性。

至于你的例子:

<build>
<plugins>
    <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>3.1</version>
    <configuration>
        <source>1.7</source>
        <target>1.7</target>
        <fork>true</fork>
        <executable>${JAVA_1_7_HOME}/bin/javac</executable>
    </configuration>
    </plugin>
    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-resources-plugin</artifactId>
    <version>2.6</version>
        <configuration>
            <outputDirectory>${project.build.outputDirectory}/resources</outputDirectory>
        </configuration>
    </plugin>
</plugins>
</build>

并在设置中:

<settings>
  [...]
  <profiles>
    [...]
    <profile>
      <id>compiler</id>
        <properties>
          <JAVA_1_7_HOME>/path/to/jdk7</JAVA_1_7_HOME>
        </properties>
    </profile>
  </profiles>
  [...]
  <activeProfiles>
    <activeProfile>compiler</activeProfile>
  </activeProfiles>
</settings>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使Maven使用JDK1.8而不是JDK1.6

来自分类Dev

在AngularDart中如何将PreEnter事件注册到需要使用服务方法的路由?

来自分类Dev

AJAX和PHP根据需要使用RecursiveIteratorIterator获取文件和文件夹列表

来自分类Dev

将子字符串的jdk6更改为jdk7行为的解决方法

来自分类Dev

在JDK7中使用Base64类

来自分类Dev

将Spring的@Scheduled与JDK7一起使用时,找不到有关Repeatable类的声纳错误消息

来自分类Dev

用launch4j和jdk8包装的.exe需要很长时间才能启动。相反,使用jdk7几乎可以立即开始

来自分类Dev

无法使用JDK6生成密钥库,但能够使用JDK5生成

来自分类Dev

如何将Android Studio配置为在其他jetbrain ide附带的自定义jdk上运行?

来自分类Dev

如果需要使用索引作为条件,如何将循环修改为递归?

来自分类Dev

如何使用C ++将任何类型的文件读取为二进制文件并根据需要进行编辑(如压缩)?

来自分类Dev

使用Python从Excel转换为JSON,如何根据需要格式化此数据?

来自分类Dev

如何在默认打开的程序列表中添加“打开jdk7”?

来自分类Dev

从jdk6调用jdk 7编译的类

来自分类Dev

如何设置文本框/根据需要选择-使用JavaScript

来自分类Dev

如何使用:之后根据需要旋转箭头

来自分类Dev

如何在CentOS上安装jdk7?

来自分类Dev

如何使JDK 7成为NetBeans中的默认JDK?

来自分类Dev

如果存在静态路由,如何将Windows配置为不使用默认路由

来自分类Dev

如何将Java默认设置为手动安装的JRE / JDK?

来自分类Dev

如何正确设置JDK7,JRE6,JRE7

来自分类Dev

Akka-使用JDK7的ClusterSingleton

来自分类Dev

Maven 3.2.5不适用于JDK6

来自分类Dev

用launch4j和jdk8包装的.exe需要很长时间才能启动。相反,使用jdk7几乎可以立即开始

来自分类Dev

如何将Android Studio配置为在其他jetbrain ide附带的自定义jdk上运行?

来自分类Dev

如何将类数据存储在数组中,并根据需要重新调用此数据?

来自分类Dev

与使用 Letsencrypt SSL(在 JDK7 上)保护的网站交谈时“未通过身份验证”

来自分类Dev

如何将 JAVA 路径设置为 JDK 8

来自分类Dev

如何根据需要的类注册依赖项(使用 ASP CORE 中的内置 IOC 容器)

Related 相关文章

  1. 1

    如何使Maven使用JDK1.8而不是JDK1.6

  2. 2

    在AngularDart中如何将PreEnter事件注册到需要使用服务方法的路由?

  3. 3

    AJAX和PHP根据需要使用RecursiveIteratorIterator获取文件和文件夹列表

  4. 4

    将子字符串的jdk6更改为jdk7行为的解决方法

  5. 5

    在JDK7中使用Base64类

  6. 6

    将Spring的@Scheduled与JDK7一起使用时,找不到有关Repeatable类的声纳错误消息

  7. 7

    用launch4j和jdk8包装的.exe需要很长时间才能启动。相反,使用jdk7几乎可以立即开始

  8. 8

    无法使用JDK6生成密钥库,但能够使用JDK5生成

  9. 9

    如何将Android Studio配置为在其他jetbrain ide附带的自定义jdk上运行?

  10. 10

    如果需要使用索引作为条件,如何将循环修改为递归?

  11. 11

    如何使用C ++将任何类型的文件读取为二进制文件并根据需要进行编辑(如压缩)?

  12. 12

    使用Python从Excel转换为JSON,如何根据需要格式化此数据?

  13. 13

    如何在默认打开的程序列表中添加“打开jdk7”?

  14. 14

    从jdk6调用jdk 7编译的类

  15. 15

    如何设置文本框/根据需要选择-使用JavaScript

  16. 16

    如何使用:之后根据需要旋转箭头

  17. 17

    如何在CentOS上安装jdk7?

  18. 18

    如何使JDK 7成为NetBeans中的默认JDK?

  19. 19

    如果存在静态路由,如何将Windows配置为不使用默认路由

  20. 20

    如何将Java默认设置为手动安装的JRE / JDK?

  21. 21

    如何正确设置JDK7,JRE6,JRE7

  22. 22

    Akka-使用JDK7的ClusterSingleton

  23. 23

    Maven 3.2.5不适用于JDK6

  24. 24

    用launch4j和jdk8包装的.exe需要很长时间才能启动。相反,使用jdk7几乎可以立即开始

  25. 25

    如何将Android Studio配置为在其他jetbrain ide附带的自定义jdk上运行?

  26. 26

    如何将类数据存储在数组中,并根据需要重新调用此数据?

  27. 27

    与使用 Letsencrypt SSL(在 JDK7 上)保护的网站交谈时“未通过身份验证”

  28. 28

    如何将 JAVA 路径设置为 JDK 8

  29. 29

    如何根据需要的类注册依赖项(使用 ASP CORE 中的内置 IOC 容器)

热门标签

归档