3

可能重复:
ant 错误 JAVA_HOME 未指向 SDK

我收到以下错误:

BUILD FAILED
C:\Users\myname\Documents\CMSC\Proj1\build.xml:22: 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.
It is currently set to "C:\Program Files (x86)\Java\jre7"

Total time: 1 second

我的 build.xml 文件包含以下代码:

<project name="Project1" default="compile" basedir=".">

  <description>
    Build file for Project1
  </description>

  <!-- global properties for this build file -->
  <property name="source.dir" location="src"/>
  <property name="build.dir" location="bin"/>
  <property name="doc.dir" location="doc"/>
  <property name="main.class" value="proj1.Project1"/>

  <!-- set up some directories used by this project -->
  <target name="init" description="setup project directories">
    <mkdir dir="${build.dir}"/>
    <mkdir dir="${doc.dir}"/>
  </target>

  <!-- Compile the java code in ${src.dir} into ${build.dir} -->
  <target name="compile" depends="init" description="compile java sources">
    <javac srcdir="${source.dir}" destdir="${build.dir}"/>
  </target>

  <!-- execute the program with the fully qualified name in ${build.dir} -->
  <target name="run" description="run the project">
    <java dir="${build.dir}" classname="${main.class}" fork="yes">
        <arg line="${args}"/>
    </java>
  </target>

  <!-- Delete the build & doc directories and Emacs backup (*~) files -->
  <target name="clean" description="tidy up the workspace">
    <delete dir="${build.dir}"/>
    <delete dir="${doc.dir}"/>
    <delete>
      <fileset defaultexcludes="no" dir="${source.dir}" includes="**/*~"/>
    </delete>
  </target>

  <!-- Generate javadocs for current project into ${doc.dir} -->
  <target name="doc" depends="init" description="generate documentation">
    <javadoc sourcepath="${source.dir}" destdir="${doc.dir}"/>
  </target>

</project>

我在这里做错了什么?它似乎试图在我的 src 文件夹中找到一个 javac 文件,但我不知道如何解决这个问题。

4

4 回答 4

4

JAVA_HOME必须指向而JDK不是JRE

ant在执行typeset JAVA_HOME=C:\Program Files (x86)\Java\jdk1.7.0_07或您拥有的任何版本之前对其进行测试。

于 2012-10-09T19:07:07.240 回答
4

在此处下载最新的 JDK 。安装它并注意它的位置。例如,32 位 JDK 应安装到C:\Program Files (x86)\Java\jdkSOMETHING.

在 Eclipse 中,转到Window> Preferences> Java>Installed JREs并单击Add> Standard JVM(然后Next)。浏览到上面提到的 JDK 目录,然后点击Finish. 要检查您的项目是否正在使用此 JDK,请右键单击该项目并转到Properties. 从那里,寻找Java Build Path。在Libraries选项卡下,您应该会看到一个JRE System Library. 如果不是你刚刚添加的JDK,点击该条目并点击Edit按钮并更改它。

现在运行你的Ant构建。

于 2012-10-09T19:32:34.007 回答
0

查看您的错误,看起来像它的 Windows 环境,并且您正在ant通过命令提示符运行。

Follow Right Click(My Computer) -> properties -> Advanced 
-> Environment Variables -> System Variables -> New
Add  Variable Name = JAVA_HOME
     Variable Value = Path to your Base folder of Java 
                      e.g. C:\Program Files\Java\jdkxxx

重新启动命令提示符,键入java -version. 如果它正确打印了您的 java 版本,那么您应该已准备就绪。

于 2012-10-09T19:24:02.523 回答
-1

它在说

“也许 JAVA_HOME 不指向 JDK。”

也许你应该检查一下:D

于 2012-10-09T19:15:20.623 回答