Java ProcessBuilder无法识别java_home路径

时间:2015-11-20 19:45:43

标签: java ant processbuilder java-home

我正在尝试自动化一个过程,其中一个过程需要进行ant构建。我已经设置了所有环境变量。直接在cmd中输入命令:

我的build.xml有一些这样的属性:

<property name="java.home" value="${env.JAVA_HOME}"/>
<property name="java.compiler.path" value="${JAVA_HOME}\bin\javac"/>
<echo> ${java.home} </echo>
<echo> ${java.compiler.path} </echo>

并在cmd上调用“ant”将回显JDK的目录。但是,通过ProcessBuilder调用ant

 CommandUtils.execute("\"c:\\Program Files (x86)\\Ant\\bin\\ant\"");
 //inside execute() { pb = new ProcessBuilder("cmd", "/c", command);....}

将字面上回显$ {java.home}和$ {java.compiler.path}。 是否有任何改变我可以指向java路径,以便ProcessBuilder识别java路径?

1 个答案:

答案 0 :(得分:1)

用%替换环境变量将不起作用。请改用System.getenv()中的值。

对于ant错误:您需要在类路径中使用编译器。仅在JDK

中JRE中不包含Tools.jar