ant编译报错报都有啊如何说包不存在
1个回答
展开全部
�趺此蛋�淮嬖诎� 下面的包都有啊,而且我从新导了好几遍,怎么报错啊� XML code myCompile: [javac] Compiling 14 source files to D:\work-m9\ssh2\compile [javac] D:\work-m9\ssh2\src\com\david\common\util\FtpUtil.java:3: 软件包 org.apache.commons.io 不存在 [javac] import org.apache.commons.io.FileUtils; [javac] ^ [javac] D:\work-m9\ssh2\src\com\david\common\util\FtpUtil.java:4: 软件包 org.apache.commons.net.ftp 不存在 [javac] import org.apache.commons.net.ftp.FTPClient; [javac] ^ [javac] D:\work-m9\ssh2\src\com\david\common\util\FtpUtil.java:5: 软件包 org.apache.commons.net.ftp 不存在 [javac] import org.apache.commons.net.ftp.FTPFile; [javac] ^ [javac] D:\work-m9\ssh2\src\com\david\common\util\FtpUtil.java:20: 找不到符号 [javac] 符号: 类 FTPClient [javac] 位置: 类 com.david.common.util.FtpUtil [javac] private static FTPClient ftpClient; [javac] ^ [javac] D:\work-m9\ssh2\src\com\david\common\util\StringTool.java:10: 软件包 org.apache.commons.codec.binary 不存在 [javac] import org.apache.commons.codec.binary.Hex; [javac] ^ [javac] D:\work-m9\ssh2\src\com\david\common\util\StringTool.java:11: 警告: com.sun.org.apache.xerces.internal.impl.dv.util.Base64 是 Sun 的专用 API,可能会在未来版本中删除 [javac] import com.sun.org.apache.xerces.internal.impl.dv.util.Base64; [javac] ^ [javac] D:\work-m9\ssh2\src\com\david\common\util\StringUtil.java:12: 软件包 org.apache.commons.codec.binary 不存在 [javac] import org.apache.commons.codec.binary.Base64; [javac] ^ [javac] D:\work-m9\ssh2\src\com\david\hibernate\dao\BaseDao.java:4: 软件包 org.springframework.orm.hibernate3.support 不存在 [javac] import org.springframework.orm.hibernate3.support.HibernateDaoSupport; [javac] ^ [javac] D:\work-m9\ssh2\src\com\david\hibernate\dao\BaseDao.java:6: 找不到符号 [javac] 符号: 类 HibernateDaoSupport [javac] public class BaseDao extends HibernateDaoSupport{ [javac] ^ [javac] D:\work-m9\ssh2\src\com\david\hibernate\dao\impl\UserDaoImpl.java:5: 软件包 org.hibernate 不存在 [javac] import org.hibernate.Query; [javac] ^ [javac] D:\work-m9\ssh2\src\com\david\web\action\BaseAction.java:3: 软件包 javax.servlet 不存在 [javac] import javax.servlet.ServletContext; [javac] ^ [javac] D:\work-m9\ssh2\src\com\david\web\action\BaseAction.java:5: 软件包 javax.servlet.http 不存在 [javac] import javax.servlet.http.HttpServletRequest; [javac] ^ [javac] D:\work-m9\ssh2\src\com\david\web\action\BaseAction.java:6: 软件包 javax.servlet.http 不存在 [javac] import javax.servlet.http.HttpServletResponse; [javac] ^ ------解决方案-------------------------------------------------------- ....贴错了.. XML code ? !-- 默认任务 default 可以指定直接执行ant 命令的时候默认的任务可以通过指定任务 名称(target name)运行不同的任务 比如: ant package -- project name= tax-calculator default= package !-- 设置property 可以在其他地方通过${xxx} 的方式引用 也可以通过 property file 设 置具体的properties 文件 这里有个优先级 的问题 首先你可以在执行ant 命令 这个优 先级是最大的 其次的是properties 文件 中的属性 最后的优先级是写在build.xml 中的property(很怪) -- property name= project.name value= exampleant / property name= project.version value= snapshot / property name= base.dir value= . / property name= dist.dir value= ${base.dir}/dist / property name= testlog.dir value= ${base.dir}/testlog / property name= testlog.html.dir value= ${testlog.dir}/html / property name= source.dir value= ${base.dir}/src / property name= build.dir value= ${base.dir}/build / property name= source.main.dir value= ${source.dir}/main / property name= source.test.dir value= ${source.dir}/test / property name= build.classes.dir value= ${build.dir}/classes / property name= build.test.classes.dir value= ${build.dir}/test-classes / property name= lib.dir value= ${base.dir}/lib / !-- 输出当前环境的信息 -- target name= display-properties echoproperties / /target !-- 设置类路径 -- path id= compile.classpath fileset dir= ${lib.dir} includes= *.jar / pathelement path= ${build.classes.dir} / /path path id= test.compile.classpath path refid= compile.classpath / pathelement path= ${build.test.classes.dir} / /path !-- target 任务 name:任务名称 depends:前置任务(强调该任务执行前必须执行depends 指定的任务) description:描述 -- !-- mkdir dir:目录信息 -- target name= init mkdir dir= ${build.classes.dir} / mkdir dir= ${build.test.classes.dir} / mkdir dir= ${dist.dir} / mkdir dir= ${testlog.html.dir} / /target !-- javac 编译Java 源文件 srcdir:源文件目录 destdir:输出目录 includes:告诉Ant 编译过程中编译哪些位置的源文件(其他位置被忽视) excludes:告诉Ant 编译过程中忽略那些位置的源文件 debug:是否开启调试信息 source:强调开发源代码的JDK 版本 target:强调编译后的Class 文件应该支持的JDK 版本 compiler:指定编译器(不一定非得使用Sun 的标准编译器进行编译) -- target name= compile depends= init description= Compile Java code javac srcdir= ${source.main.dir}/resources destdir= ${build.classes.dir} source= 1.6 target= 1.6 debug= true includes= com.javapowertools.taxcalculator.** / javac srcdir= ${source.main.dir}/java destdir= ${build.classes.dir} / /target target name= compile-test depends= compile description= Compile Unit Tests javac srcdir= ${source.test.dir}/resources classpathref= test.compile.classpath destdir= ${build.test.classes.dir} / javac srcdir= ${source.test.dir}/java classpathref= test.compile.classpath destdir= ${build.test.classes.dir} / /target !-- jar 打包Java 文件 destfile:指定输出文件 basedir:类文件所在位置 -- target name= package depends= compile,test,test-report description= Create Jar file jar destfile= ${dist.dir}/${project.name}-${project.version}.jar basedir= ${build.classes.dir} / /target !-- junit 单元测试 printsummary:是否显示单元测试类列表,如果是否的话Ant 将运行测试但不显示测试结果,除非有单元测试失败 haltonfailure:是否测试失败就停止构建,默认为否,也就是即使测试失败也继续构建 fork:是否重新启用一个JVM 进程进行测试(默认为false 正常情况下重新启用一个JVM 进程进行测试会有意想不到的效果) assertions 指定断言机制 enable 该属性为所有非系统类激活断言 package:指定某一个包下的类激活断言 class:指定具体某一个类激活断言 test 指定单元测试的类 name:类名 batchtest 批量测试 todir:指定日志输出目录 fileset 文件信息 dir:所在目录 includes:包含的测试类 formatter 指定详细信息输出格式 type:有三种格式 brief 只提供失败测试的详细信息 plain 提供了通过的和失败的测试数量,并列出实际成功的测试 xml 则用于生成报告 usefile:是否创建文件,默认为true -- target name= test depends= compile-test description= Run unit tests junit printsummary= true haltonfailure= false fork= false failureproperty= test.failures assertions enable/ /assertions classpath refid= test.compile.classpath / formatter type= xml usefile= true / !-- test name= com.javapowertools.taxcalculator.TaxRateTest / -- batchtest todir= ${testlog.dir} fileset dir= ${build.test.classes.dir} includes= **/*Test.class / /batchtest /junit /target !-- 关于生成测试报告的建议 如果开发人员选择了生成测试报告 也就表示不能在测试出现问题的时候简单的停止构建(这样会影响报告的完整性) 但是将haltonfailure属性设置为true并不是好的解决方式,另一方面,如果测试失败就停止构建是个好主意, 事实上持续构建系统是依赖这一点的 解决方式参考Java 开发超级工具集中文版50 页 -- !-- junitreport 生成报告(通过打包在ant-junit.jar内的xsl样式表来生成 有必要的话可以自行更改) todir:源文件(XML)目录 report HTML 生成模板信息定义 format:指定是否使用Frame 有noframes 和frames 两种 todir:指定HTML 文件输出位置 styledir:可以自己指定HTML 使用的样式 -- target name= test-report depends= test description= Generate HTML unit test reports junitreport todir= ${testlog.dir} fileset dir= ${testlog.dir} include name= TEST-*.xml / /fileset report format= frames todir= ${testlog.html.dir} / /junitreport fail if= test.failures message= There were test failures. / /target target name= clean description= Deletes generated dire ctories delete dir= ${build.dir} / delete dir= ${dist.dir} / delete dir= ${testlog.dir} / /target /project
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询