我在没有root的类服务器上做java工作.每当我尝试使用ant编译时,它指向错误的目录(/usr/tomcat而不是/usr/tomcat/jre).
设置用户帐户时我们被告知要做的一件事就是添加export JAVA_HOME=/usr/tomcat/jre到.bashrc文件中.我不知道是否应该照顾这个问题,但似乎并没有.
那么,我如何更改ant的JAVA_HOME属性,但仅限于运行ant的时候?
编辑:
echo $JAVA_HOME指向/usr/tomcat/jre
echo $JAVA_HOME\bin要点/usr/tomcat/jrebin
问题是,当我正常运行蚂蚁时,我收到此错误:
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
Run Code Online (Sandbox Code Playgroud)
Nil*_*der 13
您可以创建自己的运行ant的脚本,例如名为ant.sh,如:
#!/bin/sh
JAVA_HOME=</path/to/jdk>; export JAVA_HOME
ant $@
Run Code Online (Sandbox Code Playgroud)
然后运行您的脚本.
$ chmod 755 ant.sh
$./ant.sh clean compile
Run Code Online (Sandbox Code Playgroud)
或者你希望运行的任何蚂蚁目标
JAVA_HOME应该指向安装JDK的位置而不是JRE.
所以,如果你输入ls $ JAVA_HOME,你看到了什么?如果你做了$ JAVA_HOME/bin /你看到javac吗?
如果第一个不起作用,那么您没有指向正确目录的JAVA_HOME.如果第二个不起作用,那么您需要将JAVA_HOME指向JDK而不是JRE.
查看用于调用ant的shell脚本,可以在文件/etc/ant.conf, $ HOME/.ant/ant.conf和$中覆盖为.bashrc中的shell设置的$ JAVA_HOME的值. HOME /里.antrc.如果执行bash -x <path to ant script>,它将发出调试信息,这些信息可以帮助您找到$ JAVA_HOME被覆盖的位置.
小智 5
在我的Windows 7机器设置上:
JAVA_HOME="C:\Program Files\Java\jdk1.6.0_18"
没用.但是设置:
JAVA_HOME=C:\Program Files\Java\jdk1.6.0_18
工作.
| 归档时间: |
|
| 查看次数: |
114870 次 |
| 最近记录: |