我如何找出并更改正在使用哪个版本的 Java Maven 来执行?

新手上路,请多包涵

在运行我们的 Maven 构建时,我的团队成员在执行时在其中一个依赖插件中收到 NoSuchMethodError。但是,当我们从她的命令行运行 java -version 时,它指示 Java 1.6.0_26。该错误显然似乎在尖叫 Maven 正在使用 Java 5。

我如何确定和更改 Maven 使用的 Java 版本?

3 个潜在的重要注意事项:

  1. 这是在命令行执行的,不使用 Eclipse 插件
  2. JAVA_HOME 设置为 Java 1.6 JDK
  3. 使用 Maven 2.2.1

原文由 shsteimer 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 323
2 个回答

mvn -version 将输出它正在使用的 java。如果 JAVA_HOME 被设置为一个有效的 JDK 目录,而 Maven 正在使用其他东西,那么很可能有人篡改了 Maven 的启动方式。

原文由 Ryan Stewart 发布,翻译遵循 CC BY-SA 3.0 许可协议

您需要配置 maven-compiler-plugin 使用 1.6 sourcetarget 参数(默认为 1.5 )。

这是在 <pluginManagment> 部分中项目的父 pom 中完成的最好的(当然,您始终可以为每个单独的项目配置它)。

   <build>

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

          </configuration>
        </plugin>
      </plugins>
    </pluginManagement>
  </build>

原文由 Alexander Pogrebnyak 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题