学着使用Ant,可以在命令行或Eclipse下运行ant.编译build.xml文件。
具体学习可以看以下两个链接:
http://oryx.iteye.com/blog/154498
和
http://addone.bokee.com/1389346.html
里面已经讲清楚了ant的使用和build.xml文件怎么写,但我自己在使用ant的时候确出现了一些问题。
首先我了解到Eclipse安装好之后,自己就带了ant插件,这个可以在Eclipse安装目录如我的在下面目录可以找到
C:\Program Files\eclipse3.3\plugins\org.apache.ant_1.7.0.v200706080842
也可以到网上下载
Eclipse各版本下载:http://archive.eclipse.org/eclipse/downloads/
单独下载ant:http://www.apache.org/ 在这个网站下点击ant链接即可到http://ant.apache.org/ 下载想要的ant版本。我下载了1.7.1版本的。ant配置很容易,只需在path环境变量中加入ant目录下的bin目录即可如C:\Java\ant1.7.1\bin。
然后在命令行使用ant,第一次会提示没有build.xml文件,我在eclipse里新建工程并建build.xml文件, 内容如下
- <projectname= "GetsTest" basedir= "WebContent" default = "Deploy_for_development" >
- <propertyname= "web.app.name" value= "GetsTest" />
- <propertyname= "deployDir" value= "c:/GeTSmart/jboss-3.2.0/server/minimal/deploy/${web.app.name}.war" />
- <propertyname= "name" location= "location" />
- <!--====================================
- ==target:Deploy_for_development==
- == for deploytodevelopment==
- ====================================-->
- <targetname= "Deploy_for_development" description= "simpledeployfordevelopment" >
- <!--cleanthedeploydirectory-->
- <echomessage= "cleanthedeploydirectory" />
- <deletedir= "${deployDir}" ></delete>
- <!--createthedeploydirectory-->
- <echomessage= "createthedeploydirectory" />
- <mkdirdir= "${deployDir}" />
- <!--copythesourceGetsTesttodeployDir-->
- <echomessage= "copythesourceGetsTesttodeployDir" />
- <copytodir= "${deployDir}" overwrite= "true" >
- <filesetdir= "." >
- <excludename= "**/web-temp.xml" />
- <excludename= "**/eus.log.*" />
- </fileset>
- </copy>
- </target>
- </project>
cd到build.xml文件所在目录直接使用ant即可,提示build successfully .
但下来就出问题了,因为我刚才是在命令行下运行的,注意使用的是我下载的ant1.7.1版本的没有问题。
在eclipse里对build.xml文件run as ant build 确出现如下的错误:
BUILD FAILED
java.lang.NoClassDefFoundError: org/xml/sax/SAXException
at org.apache.tools.ant.ProjectHelper.getProjectHelper(ProjectHelper.java:228)
at org.eclipse.ant.internal.ui.antsupport.InternalAntRunner.parseBuildFile(InternalAntRunner.java:189)
at org.eclipse.ant.internal.ui.antsupport.InternalAntRunner.run(InternalAntRunner.java:400)
at org.eclipse.ant.internal.ui.antsupport.InternalAntRunner.main(InternalAntRunner.java:137)
为什么会出现这个错误,又怎么解决呢?
首先知道我在命令行使用的ant与在eclipse下使用的ant是不同的,因为我下载的ant是1.7.1版本的,而且path指定的也是这个版本的ant,编译出来是没有问题的。所以肯定是eclipse所使用的ant有问题,所以我把eclipse自带的ant拷贝出来,他在目录C:\Program Files\eclipse3.3\plugins\org.apache.ant_1.7.0.v200706080842下面,我把path指向这个ant所在的bin目录,并在命令行运行:
出错如下:
BUILD FAILED
java.lang.NoClassDefFoundError: org/xml/sax/SAXException
at org.apache.tools.ant.ProjectHelper.getProjectHelper(ProjectHelper.java:228)
at org.apache.tools.ant.ProjectHelper.configureProject(ProjectHelper.java:94)
at org.apache.tools.ant.Main.runBuild(Main.java:683)
at org.apache.tools.ant.Main.startAnt(Main.java:199)
at org.apache.tools.ant.launch.Launcher.run(Launcher.java:257)
at org.apache.tools.ant.launch.Launcher.main(Launcher.java:104)
说明问题确实出在eclipse自带的ant上。这里说明一下我的jdk使用的是1.3版本的,查了一下这个版本的JDK确实没有org/xml/sax/SAXException这个类,那怎么解决呢?
在网上有相同的错误帖子如下:http://techsharp.blogspot.com/2008/04/eclipse-and-ant-with-jdk13.html
按照上面帖子说明的方法只要将eclipse自带的插件即C:\Program Files\eclipse3.3\plugins文件夹下的org.apache.xerces_2.8.0.v200705301630.jar加到ant home Entires即可。具体操作如下:
Eclipse(我的是3.3版本的),Windows-->preferences-->Ant-->runtime-->classpath-->Ant home Entires-->add External jar
选择eclipse目录下的jar文件如C:\Program Files\eclipse3.3\plugins\org.apache.xerces_2.8.0.v200705301630.jar,点确定后再在eclipse下点build.xml文件run as ant build:
结果如下:
Buildfile: D:\eclipse3.3\workspace\GetsTest1.0\build.xml
Deploy_for_development:
[echo] clean the deploy directory
[delete] Deleting directory c:\GeTSmart\jboss-3.2.0\server\minimal\deploy\GetsTest.war
[echo] create the deploy directory
[mkdir] Created dir: c:\GeTSmart\jboss-3.2.0\server\minimal\deploy\GetsTest.war
[echo] copy the source GetsTest to deployDir
[copy] Copying 4 files to c:\GeTSmart\jboss-3.2.0\server\minimal\deploy\GetsTest.war
[copy] Copied 7 empty directories to 1 empty directory under c:\GeTSmart\jboss-3.2.0\server\minimal\deploy\GetsTest.war
BUILD SUCCESSFUL
Total time: 1 second
至此问题解决!
回想一下提示java.lang.NoClassDefFoundError: org/xml/sax/SAXException等错误是因为我的jdk版本使用的是1.3的,rt.jar里根本没有org.xml包,所以肯定会出错!那么解决办法1就是換jdk的版本,但会影响到我的程序运行,显然不行。2.就是想办法导入org.xml包,而插件org.apache.xerces_2.8.0.v200705301630.jar里面是包括org.xml包的,所以导入进来是可以解决些问题的。
在网上也看到类似的问题但解决的方法不够详细,而我刚好使用的环境jdk1.3,eclipse 3.3恰恰碰上了这个问题,所以结合起来解之。。。。
这里eclipse3.3的版本的ant.jar包中没有那个类,而最新下载的ant.jar包中有那个类,那么实际上在Windows-->preferences-->Ant-->runtime-->classpath-->Ant home Entires-->add External jar时直接把最新的ant.jar包加进来也是可以解决问题的。
相关推荐
本篇文章将深入探讨如何使用Ant工具解决在Eclipse环境下lib目录中自定义变量部署的问题。Ant是一个由Apache软件基金会开发的Java构建工具,它以XML为基础,允许开发者定义构建任务,并提供了强大的依赖管理功能。 ...
在实际应用中,Ant经常和Eclipse集成在一起,通过集成插件或配置,可以在Eclipse中直接执行Ant脚本,进行项目的构建和部署。此外,Ant还能够与JUnit测试框架集成,以实现自动化测试的流程。 总之,Apache Ant作为一...
Eclipse是一款广泛使用的...熟练掌握这些Eclipse的技巧和功能,可以显著提高开发效率,减少出错的可能性,让编程变得更加高效和愉快。对于专业的开发人员来说,了解并充分利用Eclipse的这些特性是提升生产力的关键。
Eclipse 3.4.0 是一款经典的Java集成开发环境(IDE),专为开发者提供高效、易用的编程工具。这款软件在Java编程领域享有很高的声誉...通过不断地学习和实践,用户可以在Eclipse的帮助下,逐步成长为熟练的Java程序员。
标题中的“Eclipse打包插件”主要指的是Eclipse IDE中用于创建和管理项目输出的工具,包括Ant Builder、Maven Integration、Gradle等。这些插件帮助开发者将源代码、资源文件和依赖库整合在一起,生成独立的可执行...
例如,开发者可能先用Eclipse+Maven创建项目,管理依赖,然后通过Eclipse+Ant进行构建,接着在Eclipse+Tomcat或Eclipse+JBoss上进行测试和部署,同时利用Eclipse+SVN进行版本控制和团队协作。每个环节都至关重要,...
为了解决这个问题,Eclipse 还提供了一个名为 `AntEclipseApplication` 的工具,它可以通过命令行方式运行,帮助开发者在非 Eclipse IDE 环境下进行插件构建。 #### 三、Eclipse 插件自动构建过程 **3.1 准备工作*...
6. **JET与其他工具的集成**:可能还会讨论JET如何与其他Eclipse插件或构建工具(如Maven,Ant)集成,以实现完整的开发流程。 压缩包中的"HelloJET"文件可能是该教程的一个示例项目,包含了一个简单的JET模板和...
无需在每台服务器上安装复杂的IDE如Eclipse或MyEclipse,仅需携带包含构建脚本的`build.xml`文件至目标服务器,进行少量参数调整(如路径配置)后,通过执行ant命令即可完成编译、打包等流程。这一特性显著降低了...
事实上,在Eclipse中使用Jocky时,Jocky也是首先针对所选工程生成Ant的Build文件(默认名称jocky_build.xml),然后再通过Ant完成混淆编译。 以下是Jocky在Eclipse中自动生成的Ant Build 文件示例: ...
3. **库文件添加**:将 Spring、Hibernate、xDoclet、Ant 以及 MySQL JDBC Driver 的相关 jar 包添加到项目的 lib 目录下。 4. **运行构建脚本**:执行 `build.xml` 脚本来生成配置文件和 SQL 脚本。 5. **数据库...
事实上,在Eclipse中使用Jocky时,Jocky也是首先针对所选工程生成Ant的Build文件(默认名称jocky_build.xml),然后再通过Ant完成混淆编译。 以下是Jocky在Eclipse中自动生成的Ant Build 文件示例: 1 ...
在Eclipse中,项目是用于组织源代码和其他文件的基本单元。项目通常包含多个文件夹,每个文件夹用于存放特定类型的文件,例如源代码文件、资源文件等。 **2.4 平台核心** 平台核心包括了Eclipse的基本运行时组件,...
相比于IDEA,MyEclipse在Hibernate和Struts的支持上更为便捷,减少了手动编写Ant文件和XML配置的时间,降低了出错后的排查难度。 Eclipse的快捷键涵盖了编辑、查看、窗口、导航、搜索、文本编辑、文件、项目、源...
事实上,在Eclipse中使用Jocky时,Jocky也是首先针对所选工程生成Ant的Build文件(默认名称jocky_build.xml),然后再通过Ant完成混淆编译。 以下是Jocky在Eclipse中自动生成的Ant Build 文件示例: ...
在Android开发中,Ant可以替代Eclipse或Android Studio中的Gradle,用于编译、打包和测试APK。 在提供的文件列表中,`build.properties`是Ant构建过程中的配置文件,它包含项目相关的属性,如版本号、渠道名等。...
在Eclipse中,插件是扩展其功能的基本单位,`features`目录下的文件则描述了这些插件的功能和依赖关系。 总结来说,Hibernate Tools是开发人员使用Hibernate框架时不可或缺的辅助工具,它通过自动化代码生成、...
下载了jitsi android的版本代码后,直接导入eclipse可能报错,需要先使用命令生成一下libs库。 官方网站的步骤:https://github.com/jitsi/jitsi-android 针对上面的步骤可能会遇到如下的错误: 1.当运行ant ...
Ant是Apache软件基金会的Jakarta项目下的一个构建工具,它是一个基于Java的项目管理工具,类似于Unix环境下的make命令。Ant的核心是通过XML格式的build.xml文件来定义构建过程,这使得构建脚本具有良好的可读性和可...