web-dev-qa-db-ja.com

Antビルドが機能しない:javacコンパイラが見つかりません

私はいくつかのJava EEの例を実行しようとしています。Antが提案しています:Perhaps Java_HOME does not point to the JDK. It is currently set to "C:\Program Files\Java\jre7

俺の Java_HOME変数は:C:\Program Files\Java\jdk1.7.0_03 Windows 7の変数を見ると

ただし、私のパスは(jdk1.6.0_26に注意してください):

%M2_HOME%\bin;%ANT_HOME%\bin;%Java_HOME%\bin;%SystemRoot%\system32;%SystemRoot%;
%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;
C:\Program Files\Microsoft Application Virtualization Client;%M2%;
C:\Program Files\QuickTime\QTSystem\;C:\Program Files\TortoiseSVN\bin;
%GLASSFISH%;%GLASSFISH_PARENT%;

PATH=C:\Maven\Apache-maven-2.2.1\bin;C:\Ant\Apache-ant-1.8.2\bin;**C:\Program File
s\Java\jdk1.6.0_26\bin;**C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C
:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Microsoft Applicatio
n Virtualization Client;C:\Maven\Apache-maven-2.2.1\bin;C:\Program Files\QuickTi
me\QTSystem\;C:\Program Files\TortoiseSVN\bin;C:\glassfish3\glassfish\bin;C:\gla
ssfish3\bin;C:\Sun\jwsdp-2.0\jwsdp-shared\bin

パスを保存するためにウィンドウを取得するために特別なことをする必要がありますか?

より詳しい情報:

C:\javaeetutorial5\examples\web\hello2>ant
Unable to locate tools.jar. Expected to find it in C:\Program Files\Java\jre7\li
b\tools.jar
Buildfile: C:\javaeetutorial5\examples\web\hello2\build.xml

-pre-init:

init:

default-ear:

-pre-compile:

bpp-actual-compilation:
     [echo] Compiling hello2
     [echo] javaee.classpath.prefix is: C:\glassfish3/lib
     [echo] is.glassfish.v3 is: ${is.glassfish.v3}
    [javac] C:\javaeetutorial5\examples\bp-project\command-line-ant-tasks.xml:93
: warning: 'includeantruntime' was not set, defaulting to build.sysclasspath=las
t; set to false for repeatable builds

BUILD FAILED
C:\javaeetutorial5\examples\bp-project\command-line-ant-tasks.xml:93: Unable to
find a javac compiler;
com.Sun.tools.javac.Main is not on the classpath.
Perhaps Java_HOME does not point to the JDK.
It is currently set to "C:\Program Files\Java\jre7"

Total time: 0 seconds
20
Eric Francis

Eclipseの場合

  • Build.xmlを右クリック--->ビルドパス--->ビルドパスを構成--->ライブラリタブを選択
  • [ライブラリの追加]をクリックします---> [jreシステムライブラリ]をダブルクリックします--->環境--->インストールされたjres --->追加--->標準vm
  • ディレクトリをクリックします---> jdk [C:\ Program Files\Java\jdk1.7.0_01]まで参照します
  • 仕上げる
  • 選択jreをjdkに変更---> OKをクリック
41
Arunsg

同じための簡単な回避策は

C:\ Program Files\Java\jdk1.7.0_03\lib\tools.jarをC:\ Program Files\Java\jre7\lib \にコピーします

この例外は、Java_HOMEがC:\ Program Files\Java\jre7として設定されており、Antがその中にtools.jarを見つけることができないために発生します。

20
minhas23

Windowsでは、コンピューターのプロパティ、高度なシステム設定、高度な環境変数に移動します

「Java_HOME」というシステム変数を追加し、そのフォルダを私のケースでは「C:\ Program Files\Java\jdk1.7.0_51」のJDKの場所に設定します

コマンドプロンプトを閉じて再度開くと、すぐに動作するはずです。

4
Shai Petel

システムにJREとJDKの両方がインストールされている場合は、PATH変数でJDKが最初に来るようにしてください。

システムはPATH変数を左から右にスキャンします。最初に来るものはすべて考慮されます。

私の場合(LinuxMintを使用)、同じエラーが発生していました。 JREの前にPATH変数にJDKを追加すると、問題が解決しました。

3
TANMAY

Mac OS Xでも同じエラーが発生していましたが、見つかった答えはすべてWindowsシステムに対するもので、両方のパスが少し異なるため、これらのソリューションは機能しませんでした。それに何時間も費やした後、私は最終的に次のように修正することができました:

/Library/Java/JavaVirtualMachines/jdk1.8.0_91.jdk/Contents/Home/lib/tools.jarを/Library/Java/JavaVirtualMachines/jdk1.8.0_91.jdk/Contents/Home/jre/lib/extにコピーします

Windowsユーザーでも機能します。

C:\ Program Files\Java\jdk1.8.0_91\lib\tools.jarをC:\ Program Files\Java\jre8\lib\extにコピーします

追伸Eclipseで選択したjdkとjreのバージョンに互換性があることにも注意してください。

2
Anna Shekhawat

[標準] VM]を選択した後、[JREタイプ]ウィンドウで[next]ボタンをクリックすると、[ディレクトリ]ボタンがある[JRE定義]という次のウィンドウに移動します。

1
BavaMars

Windows 7 x64システムのAntコマンドラインでこのエラーが発生しました。

以下の変更により問題が修正されました

Oracleサーバー からJDKをインストールしてから、新しいシステム変数Java_HOMEと値C:\ Program Files\Java\jdk1.8.0_131

0
control

これは私のために働いた。 javacが見つからないことが表示される場合は、tools.jarを追加した後でも。実行->外部ツールの設定-> jre->別のJREをクリックしてjdkへのポイントを確認->適用->実行そしてbuild.xmlファイルJusyを実行します。インストールされたjreでjdkの場所を指定します。お役に立てれば

0
Kirthi