Java打包是算是个事吧。打个war包或者jar包在所难免。一般情况下有使用jdk带的命令直接打和使用ant的两种方式。今天就把这两种方式整理下吧。
1.1 打war包
1.1使用命令
>jar cvf project_name.war //展开jar xvf project_name.war
1.2 ant

1 <?xml version="1.0" encoding="UTF-8"?>
2 <project basedir="." default="buildwar" name="PMS-Depoly">
3 <property name="build.number" value="1.0.0" />
4
5 <!-- 应用名称-->
6 <property name="appname" value="spl" />
7
8 <!--目标目录 , 如deploy-->
9 <property name="deploy.dir" value="deploy" />
10
11 <!-- ============================================= -->
12 <!-- build .war file -->
13 <!-- ============================================= -->
14 <target name="buildwar" depends="">
15 <war destfile="${deploy.dir}/${appname}-${build.number}.war" webxml="WebRoot/WEB-INF/web.xml" defaultexcludes="true" >
16 <fileset dir="WebRoot">
17 <exclude name="**/*.log" />
18 <exclude name="**/work/**" />
19 <exclude name="**/tmp/**" />
20 </fileset>
21 </war>
22 </target>
23
24 </project>
2 <project basedir="." default="buildwar" name="PMS-Depoly">
3 <property name="build.number" value="1.0.0" />
4
5 <!-- 应用名称-->
6 <property name="appname" value="spl" />
7
8 <!--目标目录 , 如deploy-->
9 <property name="deploy.dir" value="deploy" />
10
11 <!-- ============================================= -->
12 <!-- build .war file -->
13 <!-- ============================================= -->
14 <target name="buildwar" depends="">
15 <war destfile="${deploy.dir}/${appname}-${build.number}.war" webxml="WebRoot/WEB-INF/web.xml" defaultexcludes="true" >
16 <fileset dir="WebRoot">
17 <exclude name="**/*.log" />
18 <exclude name="**/work/**" />
19 <exclude name="**/tmp/**" />
20 </fileset>
21 </war>
22 </target>
23
24 </project>
2 jar包
2.1 命令
>jar cf .\lib\name.jar src_dir
使用 m 选项,把指定文件名的manifest文件 传入,例如
jar cvfm name.jar myapplication.mf src_dir
2.2 ant

1 <target name="buildjar" depends="">
2 <delete file="${component.classes.dir}/${appname}-${build.number}.jar" />
3 <javac destdir="${component.classes.dir}" srcdir="${src.dir}" debug="${debug}">
4 <include name="**" />
5 </javac>
6 <!-- Building EJB JAR -->
7 <jar destfile="${component.classes.dir}/${appname}-${build.number}.jar">
8 <!-- classes, deployment descriptors etc -->
9 <fileset dir="${component.classes.dir}" />
10 <manifest>
11 <attribute name="Main-Class" value="com.ant.djj.test.MyAnt" />
12 </manifest>
13 </jar>
14 <!-- End of building JAR -->
15
16 <delete includeemptydirs="true">
17 <fileset dir="${component.classes.dir}" includes="**/*" excludes="${appname}-${build.number}.jar" />
18 </delete>
19
20 </target>
2 <delete file="${component.classes.dir}/${appname}-${build.number}.jar" />
3 <javac destdir="${component.classes.dir}" srcdir="${src.dir}" debug="${debug}">
4 <include name="**" />
5 </javac>
6 <!-- Building EJB JAR -->
7 <jar destfile="${component.classes.dir}/${appname}-${build.number}.jar">
8 <!-- classes, deployment descriptors etc -->
9 <fileset dir="${component.classes.dir}" />
10 <manifest>
11 <attribute name="Main-Class" value="com.ant.djj.test.MyAnt" />
12 </manifest>
13 </jar>
14 <!-- End of building JAR -->
15
16 <delete includeemptydirs="true">
17 <fileset dir="${component.classes.dir}" includes="**/*" excludes="${appname}-${build.number}.jar" />
18 </delete>
19
20 </target>
如果打入mf文件 可以加入这
<target name="jar">
<jar jarfile ="myapplication.jar"
manifest="myapplication.mf">
<fileset dir="classdir"
includes="**/*.class"/>
</jar>
</target>
本文来自博客园,作者:茄子_2008,转载请注明原文链接:https://www.cnblogs.com/xd502djj/archive/2011/02/14/1954460.html
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 百万级群聊的设计实践
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 全网最简单!3分钟用满血DeepSeek R1开发一款AI智能客服,零代码轻松接入微信、公众号、小程
· .NET 10 首个预览版发布,跨平台开发与性能全面提升
· 《HelloGitHub》第 107 期