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

2022-08-31 10:56:32

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

我如何弄清楚并更改Maven使用的Java版本?

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

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

答案 1

mvn -version将输出它正在使用的java。如果JAVA_HOME设置为有效的 JDK 目录,并且 Maven 使用的是其他内容,则很可能有人篡改了 Maven 的启动方式。


答案 2

您需要配置为使用 1.6 和参数(默认情况下为 1.5 )。maven-compiler-pluginsourcetarget

这是在项目的父pom部分中完成的最好方法(但您当然可以随时根据单个项目对其进行配置)。<pluginManagment>

  <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>

推荐