6

我最近将我的机器升级到最新版本的 java 6,并在构建项目时不断收到此错误。有人知道这是什么意思吗?

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.5.1:compile (default-compile) on project
 biz.minaret: Compilation failure
[ERROR] Failure executing javac, but could not parse the error:
[ERROR] javac: invalid target release: 1.6.0_45
[ERROR] Usage: javac <options> <source files>
[ERROR] use -help for a list of possible options

我的 pom 的一部分看起来像这样

  <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>${maven.compiler.plugin.version}</version>
            <configuration>
                <source>1.6.0_45</source>
                <target>1.6.0_45</target>
                <encoding>UTF-8</encoding>
            </configuration>
  </plugin>

我的 JAVA_HOME 设置正确:

PS C:\Users\me\Documents\m

Documents\myproject> java -version
java version "1.6.0_45"
Java(TM) SE Runtime Environment (build 1.6.0_45-b06)
Java HotSpot(TM) 64-Bit Server VM (build 20.45-b01, mixed mode)>

和:

Documents\myproject> javac -version
javac 1.6.0_45
4

2 回答 2

5

您应该使用1.61.7不使用内部版本号之类的东西。

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-compiler-plugin</artifactId>
  <version>${maven.compiler.plugin.version}</version>
  <configuration>
    <source>1.6</source>
    <target>1.6</target>
    <encoding>UTF-8</encoding>
  </configuration>
</plugin>

编码部分应该通过使用以下属性来解决:

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>

在你定义好之后,你可以将上面的配置简单化为以下

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-compiler-plugin</artifactId>
  <version>${maven.compiler.plugin.version}</version>
  <configuration>
    <source>1.6</source>
    <target>1.6</target>
  </configuration>
</plugin>
于 2013-09-05T05:48:39.563 回答
0

无需pom.xml在配置选项卡中使用特定的源和目标版本修改文件,只需通过环境变量指定即可。

使用这个命令:

mvn clean install -Denv.JAVA_7_HOME=/usr/lib/jvm/java-7-openjdk-amd64/

这肯定会解决错误。

谢谢,

普拉萨德

于 2018-04-13T10:31:08.703 回答