`
joe_zhjiang
  • 浏览: 158869 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

ant打jar包以及制作成bat文件双击运行

 
阅读更多
1.首先建立一个java项目,导入log4j-1.2.15.jar包
2.然后在项目里面建立Test.java类,如下:
package com.joe.test;

import java.util.logging.Logger;

/**
 * @author:			joe
 * @createtime: 	2011-7-29 下午08:07:48
 * @version:		1.0
 * @filename:		Test.java
 * @description:	ant打jar包以及制作成bat文件双击运行测试类
 */
public class Test {
	public static void main(String[] args) {
		Logger logger = Logger.getLogger(Test.class.toString());
		logger.info("success...");
	}
}

java这边就弄好了。
3.写ant文件

build.properties文件:

src.dir=src
dist.dir=dist
lib.dir=lib
doc.dir=doc
classes.dir=classes
jdk.version=1.6
backup.dir=backup
config.dir=config


build.xml文件
<?xml version="1.0" encoding="UTF-8"?>
<project name="ant_package_jar_test" default="usage" basedir=".">
	<!-- 变量文件 -->
	<property file="build.properties" description="properties" />
	<tstamp>
		<format property="DSTAMP" pattern="yyyyMMddHHmmss"/>
	</tstamp>
	<!-- 指明你所用到的jar包、class 文件存放的位置 -->
	<path id="master-classpath" description="jar,classpath">
		<fileset file="${lib.dir}/*.jar"/>
		<pathelement path="${classes.dir}" />
	</path>
	<!-- 初始化 -->
	<target name="init" description="init">
		<echo message="before init..." />
		<mkdir dir="${classes.dir}" />
		<mkdir dir="${dist.dir}" />
		<mkdir dir="${doc.dir}" />
		<mkdir dir="${backup.dir}" />
		<echo message="after init..." />
	</target>
	<!-- 编译所有类文件 -->
	<target name="compile" description="compile" depends="init">
		<echo message="before compile..." />
		<javac srcdir="${src.dir}" destdir="${classes.dir}" target="${jdk.version}" debug="on" >
			<classpath refid="master-classpath" />
		</javac>
		<copy todir="${classes.dir}">
			<fileset dir="${config.dir}" includes="**/*" />
			<fileset dir="${lib.dir}" includes="*.jar" />
		</copy>
		<echo message="after compile..." />
	</target>
	<!--打成jar,war包 -->
	<target name="package" description="package" depends="compile" >
		<echo message="before package..."/>
		<echo message="start package ${ant.project.name}.jar..." />
		<!-- 把上面定义的path转换成property,path中jar包的路径用空格分开 -->
		<pathconvert property="mf.classpath" pathsep=" " description="">
			<path>
				<fileset file="${lib.dir}/*.jar"/>
			</path>
			<mapper>
				<chainedmapper>
			         <!-- 移除绝对路径 -->
			         <flattenmapper />
			         <!-- 加上lib前缀 -->
			         <globmapper from="*" to="./*" />
		        </chainedmapper>
			</mapper>
		</pathconvert>
		<jar destfile="${dist.dir}/${ant.project.name}.jar" basedir="${classes.dir}">
			<!-- 运行的主函数 -->
			<manifest>
				<attribute name="Built-By" value="${user.name}"/>
				<attribute name="Main-Class" value="com.joe.test.Test"/>
				<attribute name="Class-Path" value="${mf.classpath}" />
			</manifest>
			<!-- 不包含测试类 
			<exclude name="**/*Test.*" />
			<exclude name="**/Test*.*" />
			-->
		</jar>
		<echo message="end package ${ant.project.name}.jar" />
		<echo message="after package..."/>
	</target>
	<!-- 备份jar -->
	<target name="backup" description="backup" depends="package">
		<echo message="before backup..."/>
		<zip destfile="${backup.dir}/${ant.project.name}${DSTAMP}.zip">
			<fileset dir="${dist.dir}" includes="${ant.project.name}.jar" />
		</zip>
		<echo message="after backup..."/>
	</target>
	<!-- 输出api文档 -->
	<target name="doc" depends="compile" description="doc">
		<javadoc destdir="${doc.dir}" author="true" version="true" use="true" windowtitle="Your Project API">
			<packageset dir="${src.dir}" defaultexcludes="yes">
				<!--所包含的包,这里需要根据实际进行改变 -->
				<include name="com/hybrid/position/**" />
				<include name="com/hybrid/study/**" />
			</packageset>
			<doctitle><![CDATA[<h1>Your Project description</h1>]]></doctitle>
			<bottom><![CDATA[<i>Your companny Name,Inc,All Rights Reserved.</i>]]></bottom>
			<tag name="todo" scope="all" description="To do:" />
		</javadoc>
	</target>
	<!-- 清空所有输出目录 -->
	<target name="clean" description="clean" depends="deploy">
		<echo message="before clean..." />
		<delete dir="${classes.dir}" />
		<delete dir="${dist.dir}" />
		<delete dir="${doc.dir}" />
		<echo message="after clean..." />
	</target>
	<!-- 默认 -->
	<target name="usage" description="默认" depends="clean">
		<echo message="build finished..."/>
	</target>
</project>


4.运行build.xml文件,在backup下就有jar包得zip文件
5.解压zip文件
然后在该目录下建立test.bat文件,如下:
@echo off
echo 开始执行程序...
java -jar ant_package_jar_test.jar -Xms128M -Xmx256m
echo 执行结束...
pause

如果不希望看到执行后的窗体,把pause删掉就好。
项目在附件里面
希望对大家有帮助,如有问题请留言,大家共同提高!
  • 大小: 7.5 KB
分享到:
评论

相关推荐

    使用Ant将java工程打包成bat可执行性文件

    在Java开发过程中,将一个项目打包成可执行的bat(批处理)文件是常见的需求,尤其是在需要在没有Java运行环境的计算机上运行程序时。Ant,一个由Apache软件基金会开发的构建工具,提供了强大的功能来帮助我们实现这...

    Jar包合并工具

    在编辑完成后,保存文件,双击"Jar包合并.bat"运行脚本。批处理脚本会读取buildFile.xml的内容,启动ANT,并按照其中的指令执行JAR文件的合并操作。一旦合并完成,你将会得到一个新的JAR文件,其中包含了所有原始JAR...

    Ant 的 (批处理)Bat 实现

    这样,只需要双击`build.bat`,就可以轻松地运行Ant任务。 另一个文件`cmdd.bat` 可能是用来执行更特定的任务,比如清理编译后的文件或者启动Tomcat服务器。例如: ```batch @echo off del /S /Q build\classes\* ...

    制作可执行jar文件【3中方法】

    5. 运行生成的JAR文件,可以通过命令行或创建批处理文件(`.bat`)来实现。 请注意,不同的方法适用于不同的场景。对于小型项目,第一种方法可能足够;大型项目通常需要使用IDE或构建工具,以确保正确处理依赖和...

    JMETER-3.1+ant

    1. **安装与运行**:解压Apache JMeter 3.1压缩包,找到`bin`目录下的`jmeter.bat`(Windows)或`jmeter.sh`(Unix/Linux)文件,双击或执行命令行运行。 2. **界面操作**:JMeter提供了一个图形化界面,用户可以...

    Jmeter+ant+jenkins环境配置,实现性能测试持续集成和交互

    接下来,创建`build.xml`文件,这是Ant的构建脚本,定义了JMeter测试的执行逻辑,包括JMX文件的位置、JMeter的安装目录以及结果的保存路径。保存JMX测试计划到指定的JMeterTest目录。 在CMD中,进入Ant的安装目录,...

    教您将JAVA编译为EXE的几种简易方法

    在Java编程环境中,将Java程序转换为可执行的Windows EXE文件可以方便用户直接双击运行,无需安装Java环境。本文将详细介绍几种简单易行的方法,帮助开发者将Java应用程序打包成EXE格式。 首先,我们可以使用Java的...

    Java项目开发与毕业设计指导

    安装JDK,配置环境变量,双击compile.bat 批处理文件编译项目,双击runFive.bat批处理文件可启动项目。 Ch07:蚁群算法的模拟实现 安装JDK,配置环境变量,导入ch07项目,一般情况下直接保存、运行ant.UI即可...

    FitNesse安装与编译[参考].pdf

    双击运行run.bat(Windows)或run.sh(Linux),默认监听80端口。如果该端口已被占用,可以通过命令行参数 `-p` 指定其他端口,如`run.sh -p 8080`。成功启动后,可以在浏览器中访问`http://localhost:8080`或`...

    omm server.zip_OMM_OMM SERVER_Server_lineage_lineage server

    用户可以通过双击运行此文件来启动 OMM 或 Lineage Server。 2. **l1jserver.jar**:这很可能是 Lineage Server 的主应用文件,一个 Java 归档(JAR)文件,包含了服务器端的代码和资源。 3. **.project**:这是一...

    Jasperreport+ireport学习笔记1

    - 确保bat文件正确引用了Ant的执行命令。 5. **数据库服务器**: 配置一个可用的数据库服务器,例如Oracle 9i。 完成以上步骤后,通过运行`ireport.bat`即可启动iReport。 #### 二、Jasperreport简介 ...

    Java写的一个mp3播放器 .zip_Java 播放器_java mp3_java mp3播放器_mp3播放器_实用 java

    7. **构建与运行**:jlGui.bat和jlGui.sh是启动程序的批处理文件,分别适用于Windows和Unix-like系统。用户只需双击这些文件,就可以启动Java MP3播放器。 总的来说,这个项目展示了一个用Java实现的全功能MP3...

    记事本 用SWT和Jface编写 可直接运行

    4. 可执行文件:如果是跨平台的Java应用,可能包含一个.jar文件,用户可以直接双击运行。 5. 资源文件:如图标、字体或其他UI相关的素材。 总的来说,这个项目是一个基于SWT和JFace的记事本程序实例,对于想要学习...

    2021整合william.rar

    双击这个文件,模拟器便会开始运行,为玩家创建一个可以连接的游戏环境。 2. **.classpath**:这是Java开发中的一个重要文件,它记录了项目中类文件的路径和依赖关系,确保在运行时能找到所有必要的类库。 3. **l1...

    abchr-java-0.5b-src.zip_ABC_PlayBackListen

    12. **lib**:这个目录可能包含了项目运行所需要的外部库或JAR文件,这些库提供了额外的功能,如图形界面、网络通信或特定的算法实现。 通过以上分析,我们可以看出这个工具的主要功能是对比ABC和HR格式的音乐数据...

    JBoss Config GUI : Version 0.6.0 Beta 4

    双击这个文件可以在Java环境中启动GUI工具。 3. `JStarter.jar`:这可能是用于辅助启动Java应用程序的库,可能包含了一些日志记录或安全管理功能。 4. `LICENSE.txt`:此文件列出了软件的许可协议,详细规定了用户...

    jmeter学习记录

    最后,将下载的文件解压,找到 bin 目录下的 jmeter.bat,双击打开可视 GUI 界面。 3. JMeter 的使用教程 JMeter 的使用教程可以分为三个部分:基本使用教程、高级使用教程和插件安装。基本使用教程包括下载 ...

    Tomcat源码学习(一) 源码编译和导入Eclipse

    如果一切顺利,启动Tomcat可以通过在`output\build\bin`目录下双击`startup.bat`文件实现。 3. **导入Eclipse** - 在进行源码导入前,确保Eclipse已经安装了Java开发工具(JDT)和Web Tools Platform(WTP),因为...

Global site tag (gtag.js) - Google Analytics