IntelliJ IDEA 开发 swing(二)
程序编译完成后,需要打包发布,如果有 fat_jar 的同学可以通过该插件打包,这里是使用 ant 来打包,步骤如下:
一、编写 build.xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<project default="create_jar" name="swingdemo">
<property name="src.dir" value="src"/>
<property name="build.dir" value="target"/>
<property name="classes.dir" value="classes"/>
<property name="jar.dir" value="${build.dir}/jar"/>
<property name="lib.dir" value="lib"/>
<property name="config.dir" value="config"/>
<property name="plugin.dir" value="plugin"/>
<property name="db.dir" value="db"/>
<property name="jar_name" value="app"/>
<property name="start_class" value="swingdemo.SwingDemoMain"/>
<path id="application" location="${jar.dir}/${jar_name}.jar"/>
<path id="lib_path">
<fileset dir="${lib.dir}" includes="**/*.jar"/>
</path>
<target name="clean" description="清除构建">
<delete dir="${build.dir}"/>
</target>
<!-- 编译系统有intellij处理
<target name="compile" description="编译系统">
<mkdir dir="${classes.dir}"/>
<javac srcdir="src" destdir="${classes.dir}" encoding="GBK" classpathref="lib_path"/>
</target> -->
<target name="resource" description="初始化资源文件">
<mkdir dir="${build.dir}"/>
<mkdir dir="${build.dir}\jar"/>
<copydir dest="${build.dir}\lib" src="${lib.dir}"/>
<copydir dest="${build.dir}\config" src="${config.dir}"/>
<copydir dest="${build.dir}\db" src="${db.dir}"/>
<copydir dest="${plugin.dir}\plugin" src="${plugin.dir}"/>
<copy todir="${build.dir}" file="start.bat"/>
</target>
<target name="create_jar" depends="clean,resource" description="打包">
<pathconvert property="mf.classpath" pathsep=" ">
<mapper>
<chainedmapper>
<!-- 移除绝对路径 -->
<flattenmapper />
<!-- 加上lib前缀 -->
<globmapper from="*" to="../lib/*" />
</chainedmapper>
</mapper>
<fileset dir="${lib.dir}">
<include name="*.jar" />
</fileset>
</pathconvert>
<jar destfile="${jar.dir}/${jar_name}.jar" basedir="${classes.dir}">
<manifest>
<attribute name="Main-Class" value="${start_class}"/>
<attribute name="Class-Path" value="${mf.classpath} "/>
</manifest>
</jar>
</target>
<target name="run" depends="create_jar" description="运行">
<java fork="true" classname="${start_class}">
<classpath>
<path refid="lib_path"/>
<path refid="application"/>
</classpath>
</java>
</target>
</project>
二、编写 start.bat
set path=c:\Program Files (x86)\Java\jdk1.7.0\bin;%path% cd jar
java -jar swingdemo.jar
三、加入 lib 包
由于程序使用的 intellij 自带的布局方式,所以需要引用 intellij 内的一个 jar 包,该 jar 包的位置处于:../IntelliJ IDEA 12.1.1/lib/forms_rt.jar ,将该 jar 包拷贝到工程的 lib 文件夹内。
四、调用 ant 脚本
点击 intellij idea 工作区右侧的插件面板上的 Ant Build 按钮,弹出界面,点击“+”添加工程内的 build.xml 文件,可以选择四个阶段来进行程序的打包。
五、完成
打包完成后,会在工程路径下生成 target 文件夹,文件夹内包含程序及所需文件,点击 start.bat 即可运行。