Java_HOMEを設定しています
C:\Program Files (x86)\Java\jdk1.6.0_18
Mavenインストールを実行した後、Eclipseから次のメッセージを受け取ります。
理由:
Unable to locate the Javac Compiler in:
C:\Program Files (x86)\Java\jre6\..\lib\tools.jar
Please ensure you are using JDK 1.4 or above and
not a JRE (the com.Sun.tools.javac.Main class is required).
In most cases you can change the location of your Java
installation by setting the Java_HOME environment variable.
これはトリッキーな部分だと確信しています
JREではなくJDK 1.4以上を使用していることを確認してください
JRE6への設定を実行するとき、すでにインストール済みのJDK 1.6に変更するにはどうすればよいですか
編集
私もプラグインを変更しようとしました:
<plugin>
<groupId>org.Apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.0.2</version>
<configuration>
<source>1.6</source>
<target>1.6</target>
<executable>C:\Program Files (x86)\Java\jdk1.6.0_18\bin</executable>
</configuration>
</plugin>
それでも同じエラーが発生します
たぶん、Eclipse Mavenプラグインを使用することを忘れていました。EclipseでJREからJDKに変更するにはどうすればよいですか。
次のように、Eclipseが使用しているJDKを更新してみてください。
Window-> Preferences ...-> Java-> Installed JREsでJREを追加および設定します。
JRE type: Standard VM JRE
Name: jdk1.6.0_18
JRE home directory: C:\Program Files (x86)\Java\jdk1.6.0_18
そうでない場合は、Java_HOMEパスの角かっことスペースが問題を引き起こしている可能性があります。 JDKを別の場所にコピーして、Java_HOMEを更新してみてください。
Eclipse.iniには、jdkの場所を指すvm引数が必要です。
Eclipse.ini
ファイルを編集して、次のようにjdkホームをポイントします-
-vm
C:\Program Files\Java\jdk1.6.0_06
これにより、Eclipseはマシン上のデフォルトのJREではなく、JDKから実行されます。
試してみて:
Preferences/Java/Installed JREs
に移動し、場所"C:\Program Files\Java\jdk1.6.0_27\jre
などに追加します。
C:\Program Files\Java\jre6
の削除
ご覧のとおり、パスC:\Program Files\Java\jre6\..\lib\tools.jar
は、最初の部分(/ ..まで)がC:\Program Files\Java\jdk1.6.0_27\jre
で置き換えられている場合にのみ意味があります。
Forkをtrueに設定すると、問題が解決しました。
<configuration>
<fork>true</fork>
<source>1.6</source>
<target>1.6</target>
</configuration>
どうもありがとう、サム・ヤン
私はまったく同じ問題を抱えていました!ショートカートの引数としてini arに「-vm c:\ program files\Java\jdkxxxxx\binを置く」ことに関するすべてのせせらぎがAT ALL heklpでなかったため、日を検索および検索していました。 (イライラしたように聞こえますか?信じてください、それは控えめな表現です!Mavenを信頼できるものにするために1週間を失ったので、私は単に激怒しています!)
私は非常に予測不可能な行動をしました。コンパイルされることもあれば、コンパイルされないこともあります。 Mavenクリーンを実行すると、コンパイラが見つからず、失敗しました。その後、ビルドパスで何かを変更すると、突然再び機能しました!!
ウィンドウに行くまで->設定-> Java-> JREをインストールしました。 JDKの場所を使用して新しいJREを追加し、JREを削除しました。突然、Mavenが安定しました!
たぶん、これはApacheのマニュアルにフォントサイズ30程度の文字を入れる価値があるのでしょうか?当然のことながら、これはJavaコミュニティにとってはとんでもないことです!この種の問題を解決しようとして、これらすべての人々によって何日が失われたか想像できません!これが最終バージョンとしてリリースされることはおそらく想像できません。私は個人的にベータソフトウェアという名前でそのようなものをリリースすることを敢えてしません...
どちらの方法でもよろしいです...改ざんの一週間後、私は最終的に開発を開始することができます。上司がこのことを知らないことを願っています。 .NETに行かないように彼を説得するのに多くの努力が必要でしたが、それについてはすでに申し訳ありません。
EclipseでRun as-> Maven installを使用しても同じ問題が発生しました。 Java_HOMEとEclipse.iniは問題なく、私の最新のJDKを指しています。しかし、m2clipseはJREを使用しました。 Eclipseの外でmvn installを使用するとうまくいきました!私の場合、次のように問題を解決しました。1. Eclipseでナビゲートします:ウィンドウ->設定-> Java->インストール済みJRE 2. JREとJDKの2つの非アクティブエントリがありました。アクティブなものは、最新のインストール済みJDKでした。 1つのMavenが使用する必要があるすべてのエントリを削除します。
Mavenはアクティブなアカウントを考慮しないと思います...
Maven 3.0.4をインストールし、それに応じてM2_HOME
、M2
、Java_HOME
を設定しました。次に、次のコマンドを実行しました。
mvn archetype:generate....
mvn compile
maven unable to locate javac compiler
などの失敗メッセージが表示されました。
私のコンピューターでは、c:\ program files\Java\jre.1.6にデフォルトのjreインストールがあります。そして、他のc:\ Java\jdk1.6とJava_HOME
がこれに設定されていますc:\ Java\jdk1.6。
設定に問題はありません。検索後、mvn.bat
を調べることにしました。すべてのステップで%Java_HOME%
をエコーし、C:\Java\jdk1.6
として正しく表示されますが、コマンドmvn --version
を実行すると、Java home:c:\ program files\Java\jre1.1.6。
最後に、次のコマンドのように-Djava.home=c:\Java\jdk1.6
を設定するだけで、すぐに正常に動作することがわかりました。
%MAVEN_Java_EXE% %MAVEN_OPTS% -classpath %CLASSWORLDS_JAR% "-Dclassworlds.conf=%M2_HOME%\bin\m2.conf" "-Djava.home=%Java_HOME%" "-Dmaven.home=%M2_HOME%" %CLASSWORLDS_LAUNCHER% %MAVEN_CMD_LINE_ARGS%
お役に立てれば。
注:これは、コマンドラインでのmvn
用であり、Eclipseでは使用しません。
http://maven.Apache.org/plugins/maven-compiler-plugin/examples/compile-using-different-jdk.html に基づいて、フォークをtrueに設定する必要がありますpom.xml。
Eclipseセットアップのみ
次の手順を実行します。
Eclipseプロジェクトのプロパティを右クリックします
Javaビルドパス->ライブラリ
JREシステムライブラリを選択-> [編集]ボタンをクリック
「インストール済みのJRE ...」ボタンをクリックします
次のようにJREを編集します:JRE Home = Java_HOMEまたはJava_HOME\jreを設定します
ScreentShot:
どうもありがとう、
パルタ
MavenはJDKではなくJREを使用しているようです。 JDKをインストールする前にMavenをインストールしたのでしょうか?
設定ファイル を確認してください。システム、ユーザー、およびプロジェクトの合計3つがあります。ほとんどの場合、インストール構成($ M2_HOME/conf/settings.xml)またはユーザーごとの構成($ {user.dir} /。m2/settings.xml)にあります。
Installed JREの場所をJDK自体に存在するディレクトリに変更することで問題を解決しました。 Java_HOME
環境変数の適切な値を設定しても、問題は解決しませんでした。
私の場合、2つのディレクトリがあります
C:\Program Files\Java\jdk1.7.0_03 --> For JDK
C:\Program Files\Java\jre7 --> For JRE
最初にC:\Program Files\Java\jre7
をEclipseのインストール済みJREとして設定しましたが、Mavenの場合に同じエラーが発生していました(Antは正常に機能していました)。
Eclipseでインストール済みJREをインストール済みJREとしてC:\Program Files\Java\jdk1.7.0_03\jre7
に変更することにより、問題は解決します。
解決策は簡単です。Eclipseウィンドウ->設定-> Java-> C:\Program files\Java\jre
を指すJREをインストールし、C:\Program files\Java\JDK 6.0\jre
に変更すると、100%動作する場合があります。
プロジェクト->プロパティ-> Java Build Pathを右クリックします。 [JREシステムパス]-> [編集]を選択します。ワークスペースのデフォルトJREを選択し、JDK> 1.4をポイントします
Window -> Preferences -> Java -> installed JREs -> Execution Enviroments -> click the checkbox on the right side
私の場合、Eclipse Run-> Debug Configurations
で、jreタブでjreではなくjdkを選択すると問題が解決しました。
特定のEclipse構成からプロジェクトを実行している場合、「実行構成」->「Maven構成」->「JREタブ」内でJavaランタイムを変更する必要があることを忘れないでください適切なJDKをEclipse設定に追加します。
Amazon Linuxでも同じ問題が発生しました。開発版のjdkをインストールする必要がありました。
Sudo yum -y install Java-1.7.0-openjdk-devel
Eclipse Window-> Preferences ...-> Java-> Installed JREは、JREではなく、インストールしたJDKを指している必要があります。
他のいくつかの人が述べたように、Eclipse Window->Preferences...->Java->Installed JREs
はJDKを指し、notを指す必要がありますJRE。エラーメッセージに記載されている../lib
フォルダーを見つけることができます。
これでも、問題が再発する可能性があります。 Eclipse(Juno)での私の方法は、Maven -> Update project...
を実行した後、問題がなくなることです。
理由は、Eclipseで生成されたファイル(.classpath、.project、.preferences)の一部が、これらの問題が発生しているプロジェクトのSubversionにあるためと思われます。したがって、svnの更新により問題が発生し、Eclipseのmavenからの構成の更新により再び解決されます。
実際のソリューション:バージョン管理からEclipseが生成した.filesを省略します(追加のポインタ/提案を歓迎)。
Maven-compiler-pluginの構成を変更して、値がtrueの実行可能ファイルとフォークを追加しました。
<configuration>
<fork>true</fork>
<source>1.6</source>
<target>1.6</target>
<executable>C:\Program Files\Java\jdk1.6.0_18\bin\javac</executable>
</configuration>
それは私のために働いた。
Eclipse> Preferences> Java> Installed JREsに移動し、ポイントしたjreの場所を選択して、Edit> Add External JARsをクリックし、tools.jarを選択します。
Echo %Java_HOME%
を行います
その後mvn --version
JRE
パスは同じである必要があります。..Window -> preferences - Java - installed jre's
に移動します
場所は、Java_Home
が表示している場所と同じでなければなりません。
Eclipse.iniの「-vm」が2行に分かれていることを確認してください。
-vm
C:\Program Files\Java\jdk1.6.0_06
同じ問題がありました。上記のいずれも機能しませんでしたが、これは私のために機能しました:
Java_HOMEを...\jdk.1.8.0 \から...\jdk.1.8.0\jre \に変更しました
Java_HOMEを設定しても問題が解決しない場合は、次を試してください。 (私は新しくインストールしたPCで同じ問題を抱えていました。)
Eclipseを使用していると仮定します。
それで全部です。あなたのプロジェクトはオランダの問題に悩まされることはありません。希望が役立ちます。
他の多くの回答では、EclipseをJREではなくJDKにポイントするように指示されています。
ここに、より具体的/明確な別の回答があります[ここでの回答で見たよりも]それを行う方法のステップバイステップ:- JDKのインストール方法
これは、この同じ問題について私が解決したことです。
プロジェクトを右クリックして、プロパティに移動します。
リンクされたリソースで、Java_HOMEという新しいパスを追加し、jdkの場所を配置します(「C:\ Program Files\Java\jdk1.8.0_73」など)。
それで全部です!!
JUNITバージョンのため、3.8.1があり、4.8.1に変更したため、同じエラーが発生しました。
だから解決策は
pOMに移動し、依存関係が次のようになっていることを確認する必要があります
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.8.1</version>
<scope>test</scope>
</dependency>
この問題の解決策は非常に簡単です。
ANTビルドファイルがない場合は、生成します。 Eclipseでは、ANTファイルを簡単に作成できます。
リンクを参照して作成ANTビルドファイル[ http://www.codejava.net/ides/Eclipse/how- to-create-ant-build-file-for-existing-Java-project-in-Eclipse] 。
次に、指定された手順に従います。
1)ANTビルドファイルをビューウィンドウにあるANTビューに追加します。
2)ANTビルドファイルを右クリックして、Run Asおよびその「Ant Build」の2番目のオプション。
3)ダイアログボックスが開き、さまざまなオプションとタブが表示されます。
4)JREタブを選択します。
5)3つのラジオボタンが表示され、オプションとしてJREまたはJDKが選択されます。
6)ラジオボタンオプションにJREが選択されている場合は慎重に見てから、_ jdk _に変更します。
7)適用をクリックします。
それでおしまい...!!!
Java_HOME
にmvn.ini
(mavenフォルダー/bin
にあります)を指定する必要があります。そうすれば、問題は解消されます。
また、Eclipseに更新されたすべての変更があることを確認することもできます。これを行うには、プロジェクトを右クリックし、[更新]メニュー項目を押します。
コンパイラの場所は、Java_HOMEが指しているjdkの場所ではなく、表示されるjreの場所にあるコンパイラプラグインのpomで定義されていると思います。