相关疑难解决方法(0)

ant $ {java.home}指向$ JAVA_HOME/jre,而不是$ JAVA_HOME

在尝试编译需要的Javadoc标记时,$JAVA_HOME/lib/tools.jar我发现ant(版本1.8.4)设置java.home$JAVA_HOME/jre而不仅仅是$JAVA_HOME.我这样验证了这个:

<echo>${java.home}</echo>
<echo>${env.JAVA_HOME}</echo>

[echo] /usr/java/jdk1.7.0_21/jre
[echo] /usr/java/jdk1.7.0_21
Run Code Online (Sandbox Code Playgroud)

据说ant -diagnostics,没有任何财产像jdk.home.因此,要使用tools.jar我必须做的事情:

<classpath location="${java.home}/../lib/tools.jar"/>
Run Code Online (Sandbox Code Playgroud)

所以,我有两个问题:

1)我的ant设置是否有问题导致java.home指向JRE而不是JDK?

2)如果这蚂蚁应该工作的方式,..在我的类路径中使用我应该做的事情的方式?或者我应该这样做${env.JAVA_HOME}/lib/tools.jar?或完全不同的东西?

ant

14
推荐指数
2
解决办法
2万
查看次数

Ant在哪里设置'java.home'(并且它是错的)并且它应该附加'/ jre'吗?

好的,我在CentOS 6.3上使用Ant版本1.7.1(默认安装):

[theuser@dev-ingyhere ~]$ ant -version
Apache Ant version 1.7.1 compiled on August 24 2010
[theuser@dev-ingyhere ~]$ cat /etc/*-release
CentOS release 6.3 (Final)
Run Code Online (Sandbox Code Playgroud)

我已经JAVA_HOME设置并运行ant:

[theuser@dev-ingyhere ~]$ export JAVA_HOME=/usr/java/jdk1.7.0_17 ; echo $JAVA_HOME ;
/usr/java/jdk1.7.0_17
[theuser@dev-ingyhere ~]$ ant -diagnostics | grep java\\.home
java.home : /usr/java/jdk1.7.0_17/jre
Run Code Online (Sandbox Code Playgroud)

这更有趣:

[theuser@dev-ingyhere ~]$ export JAVA_HOME=/a/fools/folly ; echo $JAVA_HOME ; ant -diagnostics | grep java\\.home
/a/fools/folly
java.home : /usr/java/jdk1.7.0_17/jre
[theuser@dev-ingyhere ~]$  env | grep JAVA
JAVA_HOME=/a/fools/folly 
Run Code Online (Sandbox Code Playgroud)

所以,我确实得到了一件事 - 显然Oracle的Java 7 Javadoc for Class …

java ant centos environment-variables

13
推荐指数
1
解决办法
1万
查看次数

标签 统计

ant ×2

centos ×1

environment-variables ×1

java ×1