web-dev-qa-db-ja.com

Eclipse / Mavenエラー: "この環境ではコンパイラは提供されていません"

私は、Javaエンタープライズ開発の世界に比較的新しい人です。私の組織のJava教祖は無期限の家族休暇をとっています、そして私は彼が開発したJavaアプリケーションのいくつかを維持する仕事を割り当てられました。彼が去る前に彼は私のコンピューターでMavenを使ってEclipse [Kepler SR1]をセットアップしました、そしてそれはうまくいくように見えました。

これで最初の変更をデプロイする準備が整い、Maven installを実行する必要がありますが、うまく動作させることができません - コンソールに次のような出力が表示されます。

[エラー]目標org.Apache.maven.pluginsを実行できませんでした:maven-compiler-plugin:3.1:プロジェクトmrpappでコンパイル(デフォルト - コンパイル):コンパイル失敗
[エラー]この環境ではコンパイラは提供されていません。おそらくあなたはJDKではなくJREで走っていますか?

しかし私は間違いなく私はJREではなくJDKを実行しています。私は$Java_HOMEC:\Program Files (x86)\Java\jdk1.7.0_60)をダブルチェックしました、そしてそれbinディレクトリにjavac.exeを持っています

あなたのレビューのために私のpom.xmlファイルのコピーを添付しています。問題の原因となっているものがそこにあると確信していますが、それがどうなるかはわかりません。あなたが私が同様にそれを供給することができるさらなるプラットフォーム/環境情報が必要な場合、私はWindows 7 64bitのラップトップを使用しています。

任意の助けは大歓迎です。

70
Ken L

ウィンドウ→設定→Java→インストール済みJREの順に選択します。

そしてJDKパスを指すエントリがあるかどうかを確認し、そうでない場合はEditボタンをクリックしてあなたがJava_HOME環境を設定したパスを入れてください。

145
Jorge Campos

Screen_shotインストールされたJREに 'tools.jar'を追加します。

  1. Eclipse - > window - > preference.
  2. installed JREs - > Editを選択します
  3. 外部ジャーを追加
  4. tools.jarフォルダーからJava/JDKx.x/libを選択します。
  5. 完了をクリック
19
sibabrata

「ウィンドウ」>「設定」>「Java」>「インストール済みのJRE」>に進み、インストール済みのJREを確認します。そこにJDKのエントリがあるはずです。

https://cduu.wordpress.com/2013/03/08/maven-Eclipse-compiler-error-no-compiler-is-provided-in-this-environment/

15
Gubatron

私はすべてのことを試しました。私のために働いたのは次のとおりです。

  1. Eclipseプロジェクトを右クリックして、プロパティーにナビゲートします。
  2. Java Build PathをクリックしてLibrariesタブに移動します。
  3. 追加されているJavaのバージョンを確認してください。 JREとJDKのどちらですか。
  4. Mavenプロジェクトを使用していて、ソリューションを構築したい場合.
  5. 追加したJREを選択して[削除]をクリックします。
  6. 「外部クラスフォルダを追加」をクリックし、システムから選択してJDKインストールを追加します。
  7. 適用をクリックしてOKをクリックします。
  8. Eclipseを再起動してください。
  9. ビルドは成功しました。
10
Archana Prasad

この設定をpom.xmlに追加します。

<project ...>
    ...
    <build>
        ...
        <plugins>
            <plugin>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.1</version>
                <configuration>
                    <source>1.7</source>
                    <target>1.7</target>
                    <fork>true</fork>
                    <executable>C:\Program Files\Java\jdk1.7.0_79\bin\javac</executable>
                </configuration>
            </plugin>
        </plugins>
    </build>
    ...
</project>
4
AnuradhaS

Jdk1.8_92を使用していたときも、同様のエラーに直面しました。私にとっては、jdkフォルダーにtools.jarがないことがわかりました。私はコンソールで実行していたので、他の人が提案したEclipseのオプションを試すことができませんでした。

Jdk-8u92-windows-x64をインストールしました。すべてのオプションを試した後、jdk1.8.0_92/libフォルダにtools.jarがないことを確認しました。私は古いバージョンのJavaからtools.jarをコピーしました。それからそれはコンパイルすることができました。

3
Manish

JDK 8とJRE 8がインストールされたWindows 10で、新しくインストールされたEclipse Neon(JEE開発者用)インストールでEclipse内でMavenビルドを実行しようとしたときに同じエラーが発生しました。

Eclipseで-dmとしてjdkを設定するだけでなく、tools.jarを外部ライブラリとして指定することを試みました。どちらもうまくいきませんでした。

上記のようにデフォルトの実行環境としてJDKを選択すると、うまくいきませんでした。

  1. Eclipse - >ウィンドウ - >設定 - > Java - >インストール済みJRE - >実行環境。
  2. JavaSE-1.8を選択
  3. 「互換性のあるJRE」でJDK 1.8を確認してください。

手順3の互換JREリストボックスの上のテキストには、「デフォルトのJREはチェックすることで指定できます」と表示されています。

注:pomに1.8を明示的にリストしたMavenコンパイラー・プラグインもあります。

    <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>
2
Tim

インストール済みのjreに切り替えても同じようなエラーが修正されなかったため、pom.xmlの要素、特にjdk.versionに次のエントリがあるかどうかを確認してください。

<properties>
    <jdk.version>1.7</jdk.version>
    <spring.version>4.1.1.RELEASE</spring.version>
    <jstl.version>1.2</jstl.version>
    <junit.version>4.11</junit.version>
</properties>
2
Balaji

誰かがUbuntuでEclipseを実行していてこの問題を抱えている場合、私はこれらのステップに従うことによって答えを見つけました:

  1. Eclipse-> window->好み。
  2. インストールされているJREを選択 - >追加
  3. StandardVMを選択してください。
  4. JREホーム:[Directory ..]ボタンを押してください。
  5. Javaを選択してください(私の問題は、私のEclipseはJava8を使用し、私のVMはJava7を使用していたことです)、私の場合は、Java8をusr/local/jvm/Java-8-Oracleにインストールしました。
  6. プレス仕上げ.
  7. 次に、インストールされているJRESの矢印を押して、他のオプションを確認します。
  8. 実行環境に移動します。
  9. 左側と右側にあるJavaSE-1.6(互換性のあるJRE)を選択して、インストールしたばかりのJava(私の場合はJava-8-Oracle)を選択します。 JavaSE 1.8でこの手順を実行する必要があります。
  10. 「OK」をクリックしてEclipseを再起動してください。
2
Marcelo Gomez

従ってください:ウィンドウズ - >設定 - >Java--->インストール済みJRE

SampleImage

検索..」をクリックしてください。

Cドライブに移動します--->プログラムファイル

サンプル画像2

Eclipseはすべてのjreとjdkを見つけます - >jdkのいずれかを選択してApplyを選択します

2
Mayur Chavan

同じ問題を抱えていて、次のようにして、Eclipseのbinフォルダを指すようにしました。 .x_xx).

それからmaven installを実行してください。

1
Rajan Chauhan

Mavenが何を使用しているかを確認するには、コマンドラインを開いて次のように入力します。

mvn –version

Java_HOMEがJREではなくJDKホームを参照していることを確認します。

Windowsの場合

「システムのプロパティ」 - >「システムの詳細設定」 - >「詳細」 - >「環境変数」の順に選択し、「システム環境変数」セクションで「Java_HOME」変数を選択し、「編集」をクリックします。

UNIXの場合

export Java_HOME=<ABSOLUTE_PATH_TO_JDK>

このリンク を参照してください

1
Ucup Timposu

Installed JRE 私の場合、重複した名前を削除することで問題を解決しました。名前はjdk.1.8.0_101の1つだけにしました。

私の場合は、実行構成を作成していて、実行しようとするたびにエラーが表示されます。いくつかのWebサイトを検索した後、実行設定を編集し、JREタブでランタイムJREを自分のローカルJava JDKインストールを指すようにすでに設定した「ワークスペースデフォルトJRE」として選択しました(例C:\ Program Files(x86))。\Java\jdk1.8.0_51)これで私の問題は解決しました。多分それはそこに誰かを助けます。

1
Jatin Shashoo

私がmvn compileを実行していたとき、私はコンソールの下のエラーを得ていました:

[INFO] Changes detected - recompiling the module!
[WARNING] File encoding has not been set, using platform encoding Cp1252, i.e. build is platform dependent!
[INFO] Compiling 1087 source files to C:\Code\DevVNextComplete\Development_vNext\Source\JARS\target\classes
[INFO] -------------------------------------------------------------
[ERROR] COMPILATION ERROR :
[INFO] -------------------------------------------------------------
[ERROR] No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?
[INFO] 1 error

[対処]

私は自分の環境変数にJava_HOME変数を追加していましたが、それはうまくいきました。

enter image description here

1
Vaibhav Sharma

コマンドプロンプトで%Java_HOME%を入力して、echo %Java_HOME%が設定されていることを確認してください。それが設定されていない場合は、JavaパスをWindowのEnvironmental Variablesに追加する必要があります。

0
Gene

MavenはJDKをコンパイルする必要があります。 Eclipseでは、あなたのJREをあなたのJava_HOMEが指すJDKパスに変更する必要があります。 「ウィンドウ」>「設定」>「Java」>「インストール済みJRE」にナビゲートします。

Pom.xml内のmaven-compiler-pluginが、Java_HOME内のJavaバージョンのソースとターゲットを持っていることを確認してください。

http://learn-automation.com/maven-no-compiler-is-provided-in-this-environment-Selenium/

0
rnyunja

私にとって(Windows 10上)、私はmvn installを実行したときにWindowsコマンド・プロンプトで「この環境ではコンパイラーは提供されません」というエラーを受け取りました。この修正により、Java_HOME環境変数が私のjdkを指すように変更されました(C:\ Program Files\Java\jdk1.8.0_101)。以前はjreを指していました。

そしてEclipseに新しいjdkを使わせるために、私はEclipseディストリビューションのEclipse.iniを編集し、-vmの行をC:\Program Files\Java\jdk1.8.0_101\binに変更しました。

0
Don Smith

pom.xmlでJavaのバージョンを確認し、Eclipse - > Window - > Preferences - > Installed JREでjreのバージョンを確認します。私の場合、pom.xmlのバージョンは異なります(Eclipseでは1.7を使用していましたが、1.8を使用していました)。 pom.xmlのバージョンを1.7に修正しました。

0
user3610547

コマンドウィンドウでEclipseの外部で作業している場合
コマンドウィンドウに次のコマンドを入力して、正しいJava_HOMEがあり、そのディレクトリにコンパイラが含まれていることを確認します。

dir %Java_HOME%\bin\javac.*
0
inor

1.Windows - >設定 - > Java - >インストール済みJRE - >実行環境に移動します。

2. [実行環境]ボックスで、現在使用しているJavaのバージョンを選択します。 「Compatible JREs」ボックスに、「jre1.8.0_102 [完全一致]」と表示されるようになりました(Javaのバージョンが1.8の場合)。それからmavenを使ってビルドしてみてください。

0
ramprakash
  1. システムから古いJava(JDK/JRE)をアンインストールします(最新のJavaバージョンを1つ保持します)。また、環境変数PATH/CLASSPATHに古いJava jre/jdkエントリがある場合は削除します。
  2. Eclipse - >ウィンドウ - >設定 - >インストール済みのJRE - >最新のインストールからのJDKの追加/編集
  3. Eclipse - >ウィンドウ - >設定 - >インストールされたJRE - >実行環境 - >左側の希望するJavaバージョンを選択し、右側のチェックボックスをクリックします。
  4. Mavenを使用している場合は、pluginsタグ内にpom.xml(必要に応じてバージョンを更新)に次のタグを含めます。

    <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>
    
  5. EclipseプロジェクトMavenを右クリック - >プロジェクトを更新
0
Bruce