web-dev-qa-db-ja.com

antのJava_HOMEを変更するにはどうすればよいですか?

私はJava rootを持っていないクラスサーバーで作業しています。antを使用してコンパイルしようとすると、間違ったディレクトリ(/usr/Tomcat の代わりに /usr/Tomcat/jre)。

ユーザーアカウントの設定時に行うように言われたものの1つは、export Java_HOME=/usr/Tomcat/jreを.bashrcファイルに追加します。それが問題を処理することになっていたかどうかはわかりませんが、そうではないようです。

だから、antを実行するときだけ、antのJava_HOMEプロパティを変更するにはどうすればよいですか?

編集:echo $Java_HOME に指差す /usr/Tomcat/jreecho $Java_HOME\bin に指差す /usr/Tomcat/jrebin

問題は、通常antを実行するとこのエラーが発生することです。

Unable to locate tools.jar. Expected to find it in /usr/Tomcat/lib/tools.jar
Buildfile: build.xml

compile:
    [javac] Compiling 1 source file to /home/ejm244/build/classes

BUILD FAILED
/home/ejm244/build.xml:9: 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

Total time: 0 seconds
30
Eugene M

Antを実行するための独自のスクリプトを作成できます。 ant.shという名前:

#!/bin/sh
Java_HOME=</path/to/jdk>; export Java_HOME
ant $@

その後、スクリプトを実行します。

$ chmod 755 ant.sh
$./ant.sh clean compile

または実行したいantターゲット

12
Nils Weinander

Java_HOMEは、JREではなくJDKがインストールされている場所を指している必要があります。

Ls $ Java_HOMEと入力すると、何が見えますか? ls $ Java_HOME/bin /を実行すると、javacが表示されますか?

最初のものが機能しない場合は、正しいディレクトリを指すJava_HOMEがありません。 2番目が機能しない場合は、Java_HOMEをJREではなくJDKに向ける必要があります。

6
TofuBeer

私のWindows 7マシンの設定:

 Java_HOME = "C:\ Program Files\Java\jdk1.6.0_18" 

うまくいきませんでした。しかし、設定:

 Java_HOME = C:\ Program Files\Java\jdk1.6.0_18 

働いた。

5
klana

Antを呼び出すためのシェルスクリプトを見ると、.bashrcでシェルに設定されている$ Java_HOMEの値が、ファイル/etc/ant.conf、$HOME/.ant/ant.conf、および$でオーバーライドされる可能性があります。 HOME/.antrc。 bash -x <antスクリプトへのパス>を実行すると、$ Java_HOMEがオーバーライドされている場所を追跡するのに役立つデバッグ情報が出力されます。

5
laz

コンパイラを変更するには2つの方法があります。

  • export Java_HOME=/path/to/jdkは、Antを起動する前に。
  • <javac exectuable="/path/to/javac">を設定

別のオプションは、それぞれのtools.jarをクラスパスに追加することですが、Mavenなどの別のツールからAntを起動する場合、通常、そのパスが使用されます。

Java Antのコンパイラを変更するこれらの(または他の)オプションの詳細については、 この記事 を参照してください。

Env変数を設定します:JAVACMD-Java実行可能ファイルのフルパス。これを使用して、Java_HOME/bin/Java(.exe)とは異なるJVMを呼び出します。

リファレンス: http://ant.Apache.org/manual/running.html

3
avi

環境変数Java_HOMEが正しく設定されていれば、antは各build.xmlまたはビルドファイル内で構成済みのJREを使用できます。

Antが使用しているJREのバージョンを確認するには、ビルドファイルを右クリックし、選択するタスクなどの詳細を表示するビルドantを選択して、使用するJREを選択します。

プロジェクトレベルの設定を使用するか、ワークスペースレベルで使用することをお勧めします。

3
Niranjan Sarvi

Bashを使用するときは、これを試してください:

$ export Java_HOME=/usr/Tomcat/jre
1
cdecker

コードをコンパイルしようとしている場合、Java_HOMEはJDKホームを指す必要があります。 「/ usr/Tomcat/jre/bin/javac」が存在するかどうかを確認します。疑わしい。

JDKがない場合は、ECJ(Eclipseコンパイラ)ライブラリを取得して '〜/ .ant/lib'にドロップし、そのコンパイラを使用するコマンドラインにシステムプロパティを追加することで回避できます。 -詳細については、Antマニュアルを確認してください。

http://ant.Apache.org/

1
nbeyer

プロジェクトのJRE(プロジェクトプロパティ-> Java Build Path-> Libraries、通常最後のエントリ))、または環境設定のグローバルデフォルト(Java-> Installed JRE)をJDKではなく、 JRE。

1
stolsvik

シェルからantを実行する場合、最初にexport Java_HOMEする必要はありません。これにより、現在のシェルと今後のすべてのコマンドにその変数が設定され、代わりに

user@Host:~# Java_HOME=/path/to/jdk ant targets
0
Alex

Java_HOMEパスを、Java REディレクトリの代わりにJava SDKディレクトリに変更する必要があります。Windowsでは、コマンドでsetコマンドを使用してこれを行うことができます。プロンプト。

例えば.

java_HOME = "C:\ Program Files\Java\jdk1.6.0_14"を設定します

0
PropellerHead

これで試してください:

/usr/sbin/update-alternatives --config Java
0
jacktrade