1

Fedora 18 と にインストールされている JDK 1.7.13 を使用してい/usr/javaます。binフォルダの下のすべての実行可能ファイルには-rwxr-xr-x権限があります。私は両方を設定ANT_HOMEJAVA_HOME、次の~/.bashrcように設定しました:

export ANT_HOME=/home/m/application/apache-ant-1.8.2
export JAVA_HOME=/usr/java/jdk1.7.0_13/

そして、私は次のようなbuild.xmlファイルを持っています:

<exec dir="${java.home}/bin/" executable="keytool"/>

しかし、antを実行した後、私はこの例外を得ました:

/home/m/workspace/build.xml:58: 実行に失敗しました: java.io.IOException: プログラム "keytool" を実行できません (ディレクトリ "/usr/java/jdk1.7.0_13/jre/bin" 内): エラー = 2、org.apache.tools.ant.taskdefs.Execute$ の java.lang.Runtime.exec(Runtime.java:615) の java.lang.ProcessBuilder.start(ProcessBuilder.java:1029) にそのようなファイルまたはディレクトリはありませんorg.apache.tools.ant.taskdefs.Execute.launch(Execute.java:445) の Java13CommandLauncher.exec(Execute.java:827) 。. .

org.apache.tools.ant.launch.Launcher.main (Launcher.java:109) で

何か案が?

4

2 に答える 2

3

試す:

  • export ANT_HOME=/path/to/ant

  • export PATH=$ANT_HOME/bin:$PATH

  • <exec executable="keytool"/>

また:

<exec executable="${java.home}/bin/keytool"/>

属性は、dirバイナリへのパスではなく、バイナリを実行するディレクトリを Ant に指示するためです。

于 2013-02-11T16:10:59.370 に答える
1

JAVA_HOME私の中に設定されている場合は~/.bashrc動作するようですが、そうでない場合は動作しません!

また、システムで代替手段keytoolを検索すると、コマンドがスレーブにさえないことがわかりました!

実行中のログは次のalternatives --display javaとおりです。

java - status is manual.
 link currently points to /usr/java/latest/jre/bin/java
/usr/lib/jvm/jre-1.7.0-openjdk/bin/java - priority 170009
 slave keytool: /usr/lib/jvm/jre-1.7.0-openjdk/bin/keytool
 slave orbd: /usr/lib/jvm/jre-1.7.0-openjdk/bin/orbd
 slave pack200: /usr/lib/jvm/jre-1.7.0-openjdk/bin/pack200
 ...
 slave jre_exports: /usr/lib/jvm-exports/jre-1.7.0-openjdk
 slave jre: /usr/lib/jvm/jre-1.7.0-openjdk
 slave java.1.gz: /usr/share/man/man1/java-java-1.7.0-openjdk.1.gz
 slave keytool.1.gz: /usr/share/man/man1/keytool-java-1.7.0-openjdk.1.gz
 ...
/usr/java/latest/jre/bin/java - priority 20000
 slave keytool: (null)
 slave orbd: (null)
 slave pack200: (null)
 ...
Current `best' version is /usr/lib/jvm/jre-1.7.0-openjdk/bin/java.

そのため、必要なときにいつでもjdk直接対処できるようになるまで、ルートに代替案から削除するように依頼しました。$JAVA_HOME幸いなことに、問題は解決しました。

于 2013-02-11T16:48:24.673 に答える