如何更改蚂蚁的JAVA_HOME?

Eug*_*e M 31 ant java-home

我在没有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 (2认同)

Tof*_*eer 6

JAVA_HOME应该指向安装JDK的位置而不是JRE.

所以,如果你输入ls $ JAVA_HOME,你看到了什么?如果你做了$ JAVA_HOME/bin /你看到javac吗?

如果第一个不起作用,那么您没有指向正确目录的JAVA_HOME.如果第二个不起作用,那么您需要将JAVA_HOME指向JDK而不是JRE.


laz*_*laz 5

查看用于调用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

工作.


Sta*_*sev 5

有两种更改编译器的方法:

  • export JAVA_HOME=/path/to/jdk 在启动 Ant 之前。
  • <javac exectuable="/path/to/javac">

另一种选择是tools.jar在类路径中添加相应的,但如果 Ant 是从其他工具(如 Maven)启动的,则通常使用此方法。

有关在 Ant 中更改 Java 编译器的这些(或其他)选项的更多详细信息,请参阅本文示例。