随笔-4  评论-1  文章-2  trackbacks-0
 

最近看到有不少朋友问java打包生成jar文件的问题,这种做法的好处就是可以直接运行,甚至可以在windows环境下就可以运行,不需要繁琐的编译。我认为方法大致有二:

   第一种方法,假设d:\test目录下面有两个类AB,其中A是主类。

1、用文本编辑器编写一个清单文件:Mymoon.mf。内容如下:

   Manifest-Version: 1.0

   Main-Class: A

   Created-By: 1.2.2(Sun Microsystems Inc.):

   各行中间要有空格。保存到d:\test

2、生成jar文件。

   D:\test\jar cfm w.jar Mymoon.mf A.class B.class

   完成以后就会生成w.jar的文件了,可以放到任何地方运行。

 

第二种方法,使用apache-ant编译。

Apache-ant作为一个java的生成工具,肯定有不少朋友已经用到了,ant作为最初的tomcat的组件,作为用于生成开放源代码java项目的事实上的标准,已经获得了广泛欢迎,他的功能很多,主要是通过build.xml文件来实现,关于antxml的用法,大家可以参考资料,我在这里只介绍生成jar文件的方法。

首先,在c:\目录下建立一个包,名为src,里面可以放入一个简单的helloworld.java的程序。这时候不需要编译文件。

第二,在c盘下建立一个xml文件build,在build中输入以下内容:

<?xml version="1.0"?>

<project default="dist" name="helloworld">

<description>a simple java project</description>

<property name="srcDir" location="src"/>

<property name="buildDir" location="build"/>

<property name="distDir" location="dist"/>

<target name="init">

<tstamp/>

<mkdir dir="${buildDir}"/>

<mkdir dir="${distDir}"/>

</target>

<target name="compile" depends="init">

<javac srcdir="${srcDir}" destdir="${buildDir}"/>

</target>

<target name="dist" depends="compile">

<jar destfile="${distDir}/package-${DSTAMP}.jar" basedir="${buildDir}">

<manifest>

<attribute name="Build-By" value="${user.name}"/>

<attribute name="Main-class" value="src.helloworld"/>

</manifest>

</jar>

<jar destfile="${distDir}/package-src-${DSTAMP}.jar" basedir="${srcDir}"/>

</target>

 

<target name="clean">

<delete dir="${buildDir}"/>

<delete dir="${distDir}"/>

</target>

</project>

   关于这个xml文件的详细工作方法,我就不介绍,大家可以参看文档。

   第三、在c提示符下输入,ant build.xml,如果一切顺利,系统会自动生成两个文件夹,dist和build,其中build中保存的是编译好的helloworld.class文件,dist中包含两个文件,其中一个是helloworld源文件,另一个就是我们需要的jar文件了,接着我们就可以在dist目录下运行这个文件了。例如本例:java jar package-20060315.jar。

   以上就是生成.jar文件的方法,我觉得第二种更好,更符合工程上的规范。

posted on 2006-03-18 14:07 JavaWorm 阅读(1599) 评论(0)  编辑  收藏 所属分类: 开发技术学习

只有注册用户登录后才能发表评论。


网站导航: