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

1 篇文章 0 订阅
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删掉就好。
项目在附件里面
希望对大家有帮助,如有问题请留言,大家共同提高!
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值