ant调试的一个小问题,希望高手能帮忙解决下!

superyf123 2007-09-11 01:25:43
<?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\build

BUILD 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 JDK

Total time: 750 milliseconds


我估计要添加一个classpath程序,但不知道怎么添加,希望高手能指导的详细点!谢谢!
...全文
457 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
idilent 2007-09-14
  • 打赏
  • 举报
回复
ant和你用什么开发工具没有关系。你看看你在命令行能不能适用javac命令编译你的java类?我觉得应该是不可以,所以你需要以下步骤:
1、右键点击我的电脑,选择属性。
2、在1打开的窗口中点击环境变量。
3、在2大开的窗口中,系统变量下,点击新建
4、变量名称JAVA_HOME,内容放你得java安装目录。

我说得也不太准确,你找找设置java环境变量。设置了就可以了。


superyf123 2007-09-11
  • 打赏
  • 举报
回复
最讨厌看英语书。。。不是看不懂,是看起来太累!
  • 打赏
  • 举报
回复
官方网站 http://ant.apache.org/ 可以找到一些资料和 download 类库。

另外推荐一本书:Java Development with Ant 英文版网上有下的,中文版《使用 Ant 进行 Java 开发》,挺不错的,没有电子版的。
superyf123 2007-09-11
  • 打赏
  • 举报
回复
还有一个问题,学ANT有什么电子书资料吗
superyf123 2007-09-11
  • 打赏
  • 举报
回复
还要去网上下个类库?我不知道ant需要什么类库!我是菜鸟,能指导下吗?
  • 打赏
  • 举报
回复
反正要用 Ant 编译的话,这些 jar 肯定是要告诉它在哪里的,否则怎么编译!
  • 打赏
  • 举报
回复
那你不会新建一个 lib 的 Folder,把需要的类库都拷进去。
superyf123 2007-09-11
  • 打赏
  • 举报
回复
我在eclipse下的,好像没有lib!怎么办?
idilent 2007-09-11
  • 打赏
  • 举报
回复
在环境变量里面放上java的classpath吧
  • 打赏
  • 举报
回复
在第一个 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>
superyf123 2007-09-11
  • 打赏
  • 举报
回复
我用的IDE是ECLIPSE

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧