javac:无效的目标版本:1.8 on Mac 执行 Maven 命令时
javac: invalid target release: 1.8 on Mac when executing Maven command
我正在尝试 运行 在 Mac 上进行自动化测试。我按如下方式安装了 Maven 和 java、jdk:
java version "1.8.0_25"
Java(TM) SE Runtime Environment (build 1.8.0_25-b17)
Java HotSpot(TM) 64-Bit Server VM (build 25.25-b02, mixed mode)
和 Maven:
Apache Maven 3.2.5 (12a6b3acb947671f09b81f49094c53f426d8cea1; 2014-12-14T18:29:23+01:00)
Maven home: /usr/local/Cellar/maven/3.2.5/libexec
Java version: 1.6.0_65, vendor: Apple Inc.
Java home: /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
Default locale: en_US, platform encoding: MacRoman
OS name: "mac os x", version: "10.9.5", arch: "x86_64", family: "mac"
当我执行 Maven 命令时,我得到了这个错误:
[ERROR] Failure executing javac, but could not parse the error:
[ERROR] javac: invalid target release: 1.8
[ERROR] Usage: javac <options> <source files>
[ERROR] use -help for a list of possible options
[ERROR] -> [Help 1]
我在这里搜索过,有一个公认的解决方案是:
sudo cp $JAVA_HOME/lib/tools.jar /Library/Java/Extensions/
我执行了这个命令,但是没有任何反应!不知道怎么回事
如果您还没有这样做,请使用 maven-compiler-plugin
确定要在 Maven 中使用的 Java 版本。将其放入您的 pom.xml
文件(将 <source/>
和 <target/>
版本更改为您需要的 JDK 版本):
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
(如果您已有 <build/>
and/or <plugins/
> 部分,请仅添加 <plugin/>
部分。)
首先,通过运行命令找出 1.8 Java 的安装位置:
/usr/libexec/java_home -v 1.8
然后,通过 运行 命令设置您的 JAVA_HOME 环境变量:
export JAVA_HOME=<whatever the output from the previous command was>
Maven 之后应该可以工作,至少在那个终端 window。
如果您不想在每次打开新终端时都必须 运行 这些命令,则必须在配置文件中设置 JAVA_HOME 环境变量。
我正在尝试 运行 在 Mac 上进行自动化测试。我按如下方式安装了 Maven 和 java、jdk:
java version "1.8.0_25"
Java(TM) SE Runtime Environment (build 1.8.0_25-b17)
Java HotSpot(TM) 64-Bit Server VM (build 25.25-b02, mixed mode)
和 Maven:
Apache Maven 3.2.5 (12a6b3acb947671f09b81f49094c53f426d8cea1; 2014-12-14T18:29:23+01:00)
Maven home: /usr/local/Cellar/maven/3.2.5/libexec
Java version: 1.6.0_65, vendor: Apple Inc.
Java home: /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
Default locale: en_US, platform encoding: MacRoman
OS name: "mac os x", version: "10.9.5", arch: "x86_64", family: "mac"
当我执行 Maven 命令时,我得到了这个错误:
[ERROR] Failure executing javac, but could not parse the error:
[ERROR] javac: invalid target release: 1.8
[ERROR] Usage: javac <options> <source files>
[ERROR] use -help for a list of possible options
[ERROR] -> [Help 1]
我在这里搜索过,有一个公认的解决方案是:
sudo cp $JAVA_HOME/lib/tools.jar /Library/Java/Extensions/
我执行了这个命令,但是没有任何反应!不知道怎么回事
如果您还没有这样做,请使用 maven-compiler-plugin
确定要在 Maven 中使用的 Java 版本。将其放入您的 pom.xml
文件(将 <source/>
和 <target/>
版本更改为您需要的 JDK 版本):
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
(如果您已有 <build/>
and/or <plugins/
> 部分,请仅添加 <plugin/>
部分。)
首先,通过运行命令找出 1.8 Java 的安装位置:
/usr/libexec/java_home -v 1.8
然后,通过 运行 命令设置您的 JAVA_HOME 环境变量:
export JAVA_HOME=<whatever the output from the previous command was>
Maven 之后应该可以工作,至少在那个终端 window。
如果您不想在每次打开新终端时都必须 运行 这些命令,则必须在配置文件中设置 JAVA_HOME 环境变量。