Maven使用JRE7而不是JDK?

时间:2012-11-06 21:39:35

标签: eclipse maven java

Eclipse Juno发布 Window / Preferences / Java / Installed Jres 显示两个安装的Jres。 jdk1.7.0_07jre7

使用maven尝试cleanprocess-classes时出现以下错误:

Failed to execute goal org.apache.maven.plugins:maven-compiler- 
plugin:2.4:compile (default-compile) on project reputation: Fatal 
error compiling: tools.jar not found: C:\Program 
Files\Java\jre7\..\lib\tools.jar

我已经绝望地添加了tools.jar作为外部jar,但它没有帮助。为什么maven会尝试使用其他JRE

编辑:

编译器插件摘自pom.xml

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>2.4</version>
    <configuration>
        <source>1.6</source>
        <target>1.6</target>
    </configuration>
</plugin>

5 个答案:

答案 0 :(得分:25)

您需要将JAVA_HOME环境变量设置为JDK目录。

编辑:

在Eclipse中安装的JREs首选项窗口中,删除JRE并选择JDK。还要确保您的项目设置为使用该JRE库(右键单击资源管理器中maven项目结构下的“JRE系统库”并将其设置为“执行环境”)

答案 1 :(得分:7)

您应该验证Maven“运行配置...”是否连接到正确的JRE。如果项目JRE正确但运行配置JRE不正确,您将收到此错误。要修复,请转到Maven Build下,选择JRE选项卡。

答案 2 :(得分:3)

要配置maven版本以使用正确的Java执行环境,您需要更改Maven使用的执行环境。

<强> 1。 JRE地点

要设置JRE位置,请在Window \ Prefences(Windows)或Eclipse \ Preferences(OSX)或Edit \ Preferences(Linux)下加载首选项窗口。

展开Java / Installed JREs选项 选择所选的JDK,如果未配置,则选择Add one。

Installed JREs

<强> 2。地图执行环境

要将任何Java版本映射到特定的已安装JRE,请选择Java / Installed JREs / Execution环境菜单项

为该版本选择适当的默认JRE安装。

Java Execution Environments

第3。运行配置

如果您有特定的运行配置,则可以更改/创建特定的运行配置,并将特定的执行环境链接到该命令。

  • 为此,请选择“运行/运行配置”
  • 选择或创建运行配置。
  • 选择“执行环境”选项卡。
  • 为此命令选择适当的执行环境。

enter image description here

答案 3 :(得分:1)

Maven 2.0.9+支持toolchains,允许您声明构建所需的JDK版本。

摘自相关的Maven迷你指南:

<plugins>
  ...
  <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>3.1</version>
  </plugin>
  <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-toolchains-plugin</artifactId>
    <version>1.1</version>
    <executions>
      <execution>
        <goals>
          <goal>toolchain</goal>
        </goals>
      </execution>
    </executions>
    <configuration>
      <toolchains>
        <jdk>
          <version>1.5</version>
          <vendor>sun</vendor>
        </jdk>
      </toolchains>
    </configuration>
  </plugin>
  ...
</plugins>

答案 4 :(得分:0)

在已安装的JRE首选项窗口中 &#34;进入子菜单执行环境将此JDK标记为兼容&#34;从 How to force Eclipse m2e plugin to use jdk for a project