- 浏览: 94288 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
assasszt:
写的很透彻,厉害!能不能问个 问题:cookie 应该是浏览器 ...
Tomcat之Session和Cookie大揭密 -
赵武艺:
有时间把全部代码贴出来看看,只看这个看不懂?
Ajax请求,利用JFreeChart,页面无刷新画带“map”的图 -
e_soft:
解决办法:
拔了网线就好了,具体什么原因正在查找.
我也在 ...
MyEclipse开发JSP页面假死问题解决办法
1. a.下载ant: http://ant.apache.org/bindownload.cgi
b.安装ant: 解压ant,路径越简单越好(这是好习惯),设置环境变量ANT_HOME,PATH里添加;%ANT_HOME%\bin
c.打开cmd,键入ant回车,如果出现提示信息
"Buildfile: build.xml does not exist!
Build failed"
就说明安装成功了
2. java工程目录结构:
|-src-|- //.java源文件
|-bin-|- // .class文件
|-lib-|- //第三方jar包
build.xml // ant 配置文件
3。由于ant没有提供填写jar包里Class-Path的任务,所以需要编写自定义任务,扩展Ant ,Java代码如下:
package personal.lw.util; import java.io.File; import org.apache.tools.ant.BuildException; import org.apache.tools.ant.Task; public class AntUtil extends Task { private String lib; private String classPath = ""; private String fileType = ".jar"; // ant task public void execute() throws BuildException { try { this.classPath(dir(lib)); this.getOwningTarget().getProject().setProperty("class-path", classPath); } catch (Exception e) { e.printStackTrace(); } } // 根据路径获得目录 private File dir(String path) throws Exception { return dir(path, false); } private File dir(String path, boolean bCreate) throws Exception { File dir = new File(path); if (dir.exists()) { if (!dir.isDirectory()) { throw new Exception(dir.getName() + "is not a directory !"); } } else { if (bCreate) { // 新建 if (!dir.mkdirs()) { throw new Exception("can not create the directory \"" + dir.getName() + "\"!"); } } } return dir; } // 生成classpath字符串 private void classPath(File dir) { classPath(dir, lib); classPath = classPath.trim(); } private void classPath(File dir, String parentPath) { // 处理目录 if (dir.isDirectory()) { File[] subs = dir.listFiles(); for (int i = 0, len = subs.length; i < len; i++) { if (subs[i].isFile()) { // 文件 String name = subs[i].getName(); // 处理.jar文件 if (name.length() > fileType.length() && fileType.equals(name.substring(name.length() - fileType.length(), name.length()))) { classPath += parentPath + path(subs[i]) + " "; continue; } } if (subs[i].isDirectory()) { // 文件夹 classPath(subs[i], parentPath + path(subs[i])); } } } else { // 不是目录 System.out.println(dir.getPath() + dir.getName() + "is not a directory !"); } } // 文件路径 private String path(File f) { return "/" + f.getName(); } // 字符串 -- > 路径 @SuppressWarnings("unused") private String path(String path) { path = path.replaceAll("\\\\", "/"); if (!"/".equals(path.substring(0, 1))) { path = "/" + path; } return path; } public void setLib(String lib) { this.lib = lib; } } 本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/liuwei_blog/archive/2008/12/20/3567292.aspx
编译后打成jar包,拷贝到%ANT_HOME%\lib目录下,注意编译的时候需要导入ant的jar包,如果用ant打包就不需要导ant的jar包了,生成普通jar包的ant配置文件如下:
<?xml version="1.0" encoding="GB2312" standalone="no"?> <project basedir="." default="usage" name="hibernate"> <!-- ====此处需要修改====工程名 --> <!-- 工程名,没有被引用,可以不改 --> <property name="project-name" value="hibernate"/> <!-- ====此处需要修改====.jar文件名 --> <property name="lib" value="lib"/> <!-- lib--> <property name="src" value="src"/> <!-- src--> <property name="tar" value="bin"/> <!-- bin --> <property name="jar-file-name" value="${project-name}.jar"/> <property name="main-class" value="demo.book.controler.Test"/> <!-- ====此处需要修改====main-class--> <path id="Third-Part Lib"> <fileset dir="${lib}"> <include name="**/*.jar"/> </fileset> </path> <target description="Build file usage info (default task)" name="usage"> <echo message=" "/> <echo message=" ${project-name} "/> <echo message="-------------------------------------------------------"/> <echo message=" Available Targets:"/> <echo message=" compile - Compiles the source code"/> <echo message=" clean - Delete class files and .jar file"/> <echo message=" jar - Generate an .jar for source code"/> <echo message=" run - Execute Main-Class"/> <echo message="-------------------------------------------------------"/> </target> <target name="prepare"> <mkdir dir="${tar}"/> </target> <target name="clean"> <delete dir="${tar}"/> <delete file="${jar-file-name}"/> </target> <target name="copy-res"> <copy todir="${tar}"> <fileset dir="${src}"> <exclude name="**/*.java"/> </fileset> </copy> </target> <target depends="clean,prepare,copy-res" name="compile"> <javac debug="true" deprecation="true" destdir="${tar}" failonerror="true" srcdir="${src}"> <classpath refid="Third-Part Lib"/> </javac> </target> <!-- <target name="run" depends="jar"> <java jar="${jar-file-name}" fork="true" maxmemory="256m"/> </target> --> <!-- 注意:classpath="${tar}" 一定要加上,否则会报"java.lang.NoClassDefFoundError"的错误!--> <target depends="compile" name="run"> <java classname="${main-class}" classpath="${tar}" fork="true" maxmemory="256m"> <classpath refid="Third-Part Lib"/> </java> </target> <target depends="compile" name="jar"> <jar basedir="${tar}" destfile="${jar-file-name}"> <manifest> <attribute name="Main-Class" value="${main-class}"/> <attribute name="Class-Path" value=""/> </manifest> </jar> </target> </project>
4.生成可执行jar包的ant配置文件如下:
<?xml version="1.0" encoding="GB2312" standalone="no"?> <project basedir="." default="usage" name="hibernate"> <!-- ====此处需要修改====工程名 --> <!-- 工程名,没有被引用,可以不改 --> <property name="project-name" value="hibernate"/> <!-- ====此处需要修改====.jar文件名 --> <property name="lib" value="lib"/> <!-- lib--> <property name="src" value="src"/> <!-- src--> <property name="tar" value="bin"/> <!-- bin --> <property name="jar-file-name" value="${project-name}.jar"/> <property name="main-class" value="demo.book.controler.Test"/> <!-- ====此处需要修改====main-class--> <path id="Third-Part Lib"> <fileset dir="${lib}"> <include name="**/*.jar"/> </fileset> </path> <target description="Build file usage info (default task)" name="usage"> <echo message=" "/> <echo message=" ${project-name} "/> <echo message="-------------------------------------------------------"/> <echo message=" Available Targets:"/> <echo message=" compile - Compiles the source code"/> <echo message=" clean - Delete class files and .jar file"/> <echo message=" jar - Generate an .jar for source code"/> <echo message=" run - Execute Main-Class"/> <echo message="-------------------------------------------------------"/> </target> <target name="prepare"> <mkdir dir="${tar}"/> </target> <target name="clean"> <delete dir="${tar}"/> <delete file="${jar-file-name}"/> </target> <target name="copy-res"> <copy todir="${tar}"> <fileset dir="${src}"> <exclude name="**/*.java"/> </fileset> </copy> </target> <target depends="clean,prepare,copy-res" name="compile"> <javac debug="true" deprecation="true" destdir="${tar}" failonerror="true" srcdir="${src}"> <classpath refid="Third-Part Lib"/> </javac> </target> <!-- <target name="run" depends="jar"> <java jar="${jar-file-name}" fork="true" maxmemory="256m"/> </target> --> <!-- 注意:classpath="${tar}" 一定要加上,否则会报"java.lang.NoClassDefFoundError"的错误!--> <target depends="compile" name="run"> <java classname="${main-class}" classpath="${tar}" fork="true" maxmemory="256m"> <classpath refid="Third-Part Lib"/> </java> </target> <!-- 自定义任务,创建并赋值变量class-path --> <taskdef name="jarcp" classname="personal.lw.util.AntUtil"/> <target name="class-path"> <jarcp lib="${lib}"/> </target> <target depends="compile,class-path" name="jar"> <jar basedir="${tar}" destfile="${jar-file-name}"> <manifest> <attribute name="Main-Class" value="${main-class}"/> <attribute name="Class-Path" value="${class-path}"/> </manifest> </jar> </target> </project>
只比上一个多了一个自定义任务。
(完) ^_^
发表评论
-
Ant生成javadoc
2009-09-03 18:32 4354build.xml <?xml version= ... -
编写自定义任务,轻松扩展Ant
2008-12-20 18:21 1075Ant 自带了大量的任务 (Task) ,在网上也 ... -
Ant参考教程
2008-12-07 01:32 738ant教程 1,什么是ant an ... -
使用ant生产可执行jar包
2008-12-07 05:56 1893<?xml version="1.0" ... -
使用Ant发布web应用到tomcat
2008-12-07 22:36 890使用Ant发布web应用到tomcat 今 ... -
ant集成junit自动测试的build.xml标准模板
2008-12-14 19:52 793利用 Ant 集成 Junit ... -
全自动的使用ANT编译,打包EJB项目,并且部署到Websphere服务器上面。
2008-12-14 19:54 1762全自动的使用ANT编译,打包EJB项目,并且部署到Websph ...
相关推荐
通过ant-junit.jar,开发者可以在Ant构建脚本中轻松地执行单元测试,收集测试结果,甚至实现测试报告的生成。这对于持续集成和确保代码质量至关重要。 3. ant-launcher.jar:这个组件是Ant启动器,它负责解析并执行...
标题中的“关于使用ant制作可执行jar”是一个与Java开发相关的主题,主要涉及的是如何使用Apache Ant工具构建一个能够直接运行的JAR(Java Archive)文件。Apache Ant是一个基于XML的构建工具,它允许开发者定义构建...
本资源包包含了运行ANT所必需的JAR文件,确保用户能够顺利执行ANT脚本进行项目管理。下面我们将深入探讨ANT以及其中涉及到的关键知识点。 首先,Apache Ant是一个XML驱动的构建工具,它的配置文件通常被称为build....
`<manifest>`部分用于添加`JAR`的清单文件,`Main-Class`属性指定了程序的主类,使得`JAR`可以作为可执行文件运行。 在实际项目中,可能还需要其他任务,比如清理(`clean`)构建输出,或者进行单元测试(`junit`)...
在Java开发过程中,将源代码编译为class文件并打包...通过这种方式,你可以轻松地管理项目依赖,并创建一个独立的可执行jar,便于分发和部署。同时,这也适用于那些不希望使用更现代的构建工具如Maven或Gradle的项目。
在Java开发过程中,将代码打包成可执行的JAR(Java Archive)文件是常见的操作,这使得代码可以方便地分发、部署和运行。ANT是一个强大的构建工具,它使用XML来定义构建过程,包括编译、测试、打包等任务。本篇文章...
正确理解和使用Ant Contrib,能够使开发过程更加高效,构建流程更加可控,对于提升团队开发效率具有显著作用。因此,熟悉并掌握Ant Contrib的使用,对于任何Java开发人员来说都是一个重要的技能。
描述中的“使用apache ant jar包进行zip打包操作”可能是指使用Ant来创建ZIP格式的归档文件,尽管`jar`任务通常用于生成JAR文件,但通过特定配置,也可以处理ZIP格式。 关于描述中提到的问题,“为什么资源分不能选...
标题中的"emma_ant.jar,emma.jar合包"指的是将Emma工具的两个主要组件——`emma.jar`和`emma_ant.jar`合并在一起的压缩文件。Emma是一个广泛使用的Java代码覆盖率工具,它提供了对Java应用程序单元测试的覆盖率分析...
《Ant与ANTLR在Java开发中的应用及jar.zip包解析》 在Java开发中,我们经常会遇到各种工具和库,它们以不同的形式存在,如jar文件。"ant-antlr.jar.zip"是一个包含Ant和ANTLR相关资源的压缩包,主要用于Java项目的...
了解并熟练掌握Ant的使用,对于任何Java开发者来说都是必不可少的技能,因为它可以帮助你构建高效、可复用的构建流程,提高开发效率。而通过对"build.xml"的深入理解和定制,你还可以实现更复杂的构建逻辑,满足项目...
- 使用Ant,可以编写XML配置文件(build.xml),定义构建任务,包括创建JAR包和设置运行环境。 8. **双击运行JAR**: - 对于Windows用户,双击JAR文件运行需确保系统正确配置了Java环境变量,且JAR包内部MANIFEST...
在Java开发过程中,构建工具是不可或缺的一部分,...这个例子展示了如何使用Ant从源代码生成JAR包,包括创建目录、编译Java源代码和打包成JAR文件。了解并熟练掌握Ant,能够极大地提高开发效率,简化项目的维护工作。
运行Ant命令(例如`ant create-jar`),Ant会根据`build.xml`中的配置编译源代码并生成可运行的JAR文件`TestAntRunJar.jar`。 运行JAR文件,你可以使用以下命令: ```bash java -jar build/jar/TestAntRunJar.jar ...
在本案例中,我们将探讨如何利用Apache Ant工具和Axis库,根据WSDL文件自动生成Java客户端代码和JAR包。 Apache Ant是一个Java库和命令行工具,其任务是驱动构建过程。它允许开发者通过XML文件(通常称为build.xml...
"ant-1.6.1.jar.zip"这个压缩包中包含的核心文件就是"ant-1.6.1.jar",这是Ant 1.6.1版本的可执行JAR文件,用于在Java环境中执行构建任务。开发者可以通过运行这个JAR文件,结合build.xml配置文件,实现项目的自动化...
例如,ant-deb.jar文件本身就是一个示例,它包含了Ant-deb.jar工具的可执行文件和许可证文件(ant.license.txt)。开发者可以通过解压这个zip文件,然后在Ant构建脚本中引用ant-deb.jar,来体验和学习如何使用这个...
6. **依赖管理**:如果项目有外部依赖,你需要将它们打包进一个可执行的JAR或创建一个包含所有依赖的fat JAR。使用`<zipgroupfileset>`可以将多个JAR合并到一个JAR中。 7. **执行Ant任务**:最后,通过运行`ant jar...
本文将探讨如何使用Ant来处理一个简单的场景:一个Java文件(JettySample.java)依赖于某个jar包(例如webserver.jar),并将其打包成可部署的格式。 1. 安装与配置Ant 在开始之前,确保已经在本地安装了Ant,并且...
它支持MANIFEST.MF文件,该文件包含了关于JAR的基本信息,如主类、版本等,是构建可执行JAR的关键。 二、创建JAR包的步骤 1. **配置MANIFEST.MF** 在创建JAR包之前,通常需要一个名为MANIFEST.MF的文件,指明JAR...