1. ホーム
  2. java

MavenにJava 1.8を認識させることができない

2023-10-18 04:38:32

質問

MavenにJava 1.8を使用させることができないようです。1.8をターゲットとして使用すると、次のエラーが表示されます。

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile
(default-compile) on project csaro: Fatal error compiling: invalid target
release: 1.8 -> [Help 1]

エラーの原因は十分明らかです。Mavenが正しいバージョンのJavaを使用していないのです。

$ mvn -version
Apache Maven 3.2.2 (45f7c06d68e745d05611f7fd14efb6594181933e; 2014-06-17T07:51:42-06:00)
Maven home: /usr/local/Cellar/maven/3.2.2/libexec
Java version: 1.7.0_51, vendor: Oracle Corporation
Java home: /Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "mac os x", version: "10.9.2", arch: "x86_64", family: "mac"

しかし、インストールされているJavaのバージョンは1.8であるべきです。

$ java -version
java version "1.8.0_20-ea"
Java(TM) SE Runtime Environment (build 1.8.0_20-ea-b22)
Java HotSpot(TM) 64-Bit Server VM (build 25.20-b21, mixed mode)

そしてJAVA_HOMEが設定されています。

$ echo $JAVA_HOME
/Library/Java/JavaVirtualMachines/jdk1.8.0_20.jdk/Contents/Home

また、試しに コマンドも試してみました。 (これは mavenrc ). 何度かコンピュータを再起動し、env var が正しく設定されていることを確認しました(env var の設定は .bash_profile ).

MavenはHomebrewと一緒にインストールされました。

Java 1.8 は Eclipse (m2e を使用している) で問題なく動作しています。ただ、コマンド ラインで Maven を動作させることができません。

どのように解決するのですか?

それは私が忘れていたことが判明した ~/.mavenrc の値を設定した JAVA_HOME .

今後の読者のために、以下の場所で上書きされる可能性がある場所を確認してください。 JAVA_HOME (を上書きする可能性がある場所について、以下の場所を確認してください(優先順位の高い順)。

  • ~/.bash_profile
  • ~/.bash_login
  • ~/.bashrc
  • ~/.profile
  • /etc/mavenrc
  • ~/.mavenrc