<?xml version="1.0" encoding="UTF-8"?>
<project default="dist" name="project argon">
<description>A simple java project</description>
<property name="srcDir" location="src" />
<property name="buildDir" location="build" />
<property name="distDir" location="dist" /> <target name="init">
<tstamp>
</tstamp>
<mkdir dir="${buildDir}" />
<mkdir dir="${distDir}" />
</target> <target name="complie" depends="init">
<javac srcdir="${srcDir}" destdir="${buildDir}" />
</target> <target name="dist" depends="complie">
<jar destfile="${distDir}/package-${DSTAMP}.jar" basedir="${buildDir}">
<manifest>
<attribute name="Built-By" value="${user.name}" />
<attribute name="Main-Class" value="package.Main" />
</manifest>
</jar>
<jar destfile="${distDir}/package-src-${DSTAMP}.jar" basedir="${srcDir}"></jar>
</target> <target name="clean">
<delete dir="${buildDir}">
</delete>
<delete dir="${distDir}" />
</target></project>调试后出现:
Buildfile: D:\workspace\hello\build.xml
init:
complie:
    [javac] Compiling 2 source files to D:\workspace\hello\buildBUILD FAILED
D:\workspace\hello\build.xml:16: Unable to find a javac compiler;
com.sun.tools.javac.Main is not on the classpath.
Perhaps JAVA_HOME does not point to the JDKTotal time: 750 milliseconds
我估计要添加一个classpath程序,但不知道怎么添加,希望高手能指导的详细点!谢谢!

解决方案 »

  1.   

    在第一个 target 前加上,类库假设放在 ${lib} 下。<path id="classpath">
      <fileset id="classpathfileset" dir="${lib}">
        <include name="*.jar"/>
      </fileset>
    </path>编译改为:<target name="complie" depends="init">
      <javac srcdir="${srcDir}" destdir="${buildDir}" />
         <include name="**/*.java"/>
         <classpath refid="classpath"/>
      </javac>
    </target>打包改为<target name="jar" depends="complie">
      <jar destfile="${distDir}/package-${DSTAMP}.jar" basedir="${buildDir}">
        <fileset dir="${classes}"/>
        <manifest>
          <attribute name="Built-By" value="${user.name}" />
          <attribute name="Main-Class" value="package.Main" />
          <!-- 改成相应的 jar,用空格分开 -->
          <attribute name="Class-Path" value="lib/a.jar lib/b.jar" />
        </manifest>
      </jar>
      <!-- ${jarlib} 是 ${distDir}/lib 目录 -->
      <copy todir="${jarlib}">
        <fileset refid="classpathfileset"/>
      </copy>
    </target>
      

  2.   

    在环境变量里面放上java的classpath吧
      

  3.   

    我在eclipse下的,好像没有lib!怎么办?
      

  4.   

    那你不会新建一个 lib 的 Folder,把需要的类库都拷进去。
      

  5.   

    反正要用 Ant 编译的话,这些 jar 肯定是要告诉它在哪里的,否则怎么编译!
      

  6.   

    还要去网上下个类库?我不知道ant需要什么类库!我是菜鸟,能指导下吗?
      

  7.   

    还有一个问题,学ANT有什么电子书资料吗
      

  8.   

    官方网站 http://ant.apache.org/ 可以找到一些资料和 download 类库。另外推荐一本书:Java Development with Ant 英文版网上有下的,中文版《使用 Ant 进行 Java 开发》,挺不错的,没有电子版的。
      

  9.   

    ant和你用什么开发工具没有关系。你看看你在命令行能不能适用javac命令编译你的java类?我觉得应该是不可以,所以你需要以下步骤:
    1、右键点击我的电脑,选择属性。
    2、在1打开的窗口中点击环境变量。
    3、在2大开的窗口中,系统变量下,点击新建
    4、变量名称JAVA_HOME,内容放你得java安装目录。我说得也不太准确,你找找设置java环境变量。设置了就可以了。