Failed to execute goal org…の解決方法

1998 ワード

背景:本プロジェクトはJDK 1.8を使用します。
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ファイルを削除すると、カスタムファイルが有効になります。
読んでくれてありがとうございます。みなさんのご協力をお願いします。ありがとうございます。