【问题标题】:"Error running javac compiler" in AntAnt 中的“运行 javac 编译器时出错”
【发布时间】:2016-05-05 03:12:36
【问题描述】:

我试图在 Eclipse 中运行 Ant 脚本,但出现以下错误:

构建失败

C:\Users\name\workspace\Client\build\Build_Local.xml:111: 运行 C:\Program Files\Java\jdk1.6.0_45\jre\bin\javac 编译器时出错。

我的 java home 指向 jdk,我在 windows>preferences>installed jre 以及 run>external tool>config>jre 中编辑了 java 路径。这两个位置都指向 jdk。另外我正在发布我的构建文件(这不是确切的文件,我在发布之前已经编辑了很多)

<?xml version="1.0"?>
<project name="projectName" default="main" basedir="C:\path\build">
<property name="LocalHome" value="C:\proName" />
<property name="home" value="${LocalHome}"/>
<property name="java.home" value="C:\Program Files \Java\jdk1.6.0_45"/>
<property name="CLIENT_JAR" value="client.jar"/>

<target name="main" description=": This is the default target.">
    <antcall target="name"/>
</target>

<target name="name">
    <javac failonerror="true" srcdir="${home}/source" destdir="path to class file"
           executable="${java.home}\bin\javac" fork="true"  debug="on" encoding="UTF-8"
           source="1.6" target="1.6" bootclasspath="${java.home}/jre/lib/rt.jar"
           classpath=""/>
</project>

看到这里我提到了“C:\Program Files\Java\jdk1.6.0_45\bin\javac”的javac路径。那为什么Ant会从C:\Program Files\Java\jdk1.6.0_45\jre\bin\javac中选择javac(见构建错误)

【问题讨论】:

  • 你试过设置名为“path”的环境变量吗?
  • 是的。我做了,但没有工作
  • R u 提供路径至 bin 或至 javac ?您只需要提供到 bin 的路径。在你设置路径后重新启动你的机器,因为有时在你重新启动之前效果不可用。
  • 是路径指向 java_home/bin

标签: java ant


【解决方案1】:

当我直接使用 java home path(C:\Program Files\Java\jdk1.6.0_45) 代替 java.home 时它起作用了

【讨论】:

    【解决方案2】:

    ${java.home} 指向 C:\Program Files\Java\jdk1.6.0_45\jre。所以你应该可以从bootclasspath 中删除它:

    bootclasspath="${java.home}/lib/rt.jar"
    

    如果您将以下行放在目标下方,您会看到它打印出带有 jre 的完整路径:

    <echo level="info" message="java.home = ${java.home}"/>
    

    【讨论】:

      最近更新 更多