Failed to execute goal org…の解決方法
背景:本プロジェクトはJDK 1.8を使用します。
mavenプロジェクトをコンパイルする時、次のようなエラーが発生しました。
原因を明らかにする:
mavenにはデフォルトの倉庫があります。m 2倉庫とデフォルトのsettings.xml配置ファイルがあります。このデフォルトのsettings.xmlファイルにもJAVA 8_を添付しました。HOMEの変数をコンパイルして通ります。これは、mavenコンパイルの時に見つけたのは、私がideaに配置した私がカスタマイズしたsettings.xmlではなく、先に探したのがデフォルトです。中にはないので、JAVA 8_は見つけられませんでした。ホーム、コンパイル失敗、
まとめ:mavenコンパイルの場合は、まず探すべきデフォルトのsettings.xmlです。見つけられないなら、ideaのsettingsオプションで配置した「User settings file」に配置されているsettings.xmlファイルを探します。
解決方法:mavenデフォルトで探していたそのsettings.xmlファイルを削除すると、カスタムファイルが有効になります。
読んでくれてありがとうございます。みなさんのご協力をお願いします。ありがとうございます。
mavenプロジェクトをコンパイルする時、次のようなエラーが発生しました。
Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1
pomには以下のようにmavenプラグインを配置し、JDK 1.8を使用することを宣言しています。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<verbose>true</verbose>
<fork>true</fork>
<executable>${JAVA8_HOME}/bin/javac</executable>
</configuration>
</plugin>
ここの$HOME}この変数はsettings.xmlに配置されています。
<profile>
<id>custom-compiler</id>
<properties>
<JAVA8_HOME>C:\Program Files (x86)\Java\jdk1.8.0_73</JAVA8_HOME>
</properties>
</profile>
もちろんここでアクティブにするべきです。settings.xmlファイルには以下のような構成があります。
<activeProfiles>
<activeProfile>custom-compiler</activeProfile>
</activeProfiles>
pomファイルからCTRLが変数JAVA 8_をクリックします。HOMEはsettings.xmlにジャンプしてその定義を見つけることができます。道理でこの変数を見つけることができます。上記の問題はこの変数が見つからないからではありません。私はpomファイルのJAVA 8_を持っています。HOMEという変数は直接に実際の経路で置き換えられます。
C:\Program Files (x86)\Java\jdk1.8.0_73\bin\javac
コンパイルが通っていることが分かりました。これはおかしいです。原因を明らかにする:
mavenにはデフォルトの倉庫があります。m 2倉庫とデフォルトのsettings.xml配置ファイルがあります。このデフォルトのsettings.xmlファイルにもJAVA 8_を添付しました。HOMEの変数をコンパイルして通ります。これは、mavenコンパイルの時に見つけたのは、私がideaに配置した私がカスタマイズしたsettings.xmlではなく、先に探したのがデフォルトです。中にはないので、JAVA 8_は見つけられませんでした。ホーム、コンパイル失敗、
まとめ:mavenコンパイルの場合は、まず探すべきデフォルトのsettings.xmlです。見つけられないなら、ideaのsettingsオプションで配置した「User settings file」に配置されているsettings.xmlファイルを探します。
解決方法:mavenデフォルトで探していたそのsettings.xmlファイルを削除すると、カスタムファイルが有効になります。
読んでくれてありがとうございます。みなさんのご協力をお願いします。ありがとうございます。