我正在尝试自动化一个过程,其中一个过程需要进行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路径?
答案 0 :(得分:1)
用%替换环境变量将不起作用。请改用System.getenv()中的值。
对于ant错误:您需要在类路径中使用编译器。仅在JDK
中JRE中不包含Tools.jar