idea开发swing(二)
闲话少说,书接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即可运行。
idea开发swing(二)的更多相关文章
- IntelliJ IDEA 开发swing(二)
原文:idea开发swing(二) 闲话少说,书接idea开发swing(一). 程序编译完成后,需要打包发布,如果有fat_jar的同学可以通过该插件打包,这里是使用ant来打包,步骤如下: 一.编 ...
- IntelliJ IDEA 开发swing(一)
原文:idea开发swing(一) 最近项目组需要开发一个swing小工具,以下是开发过程. 一.创建工程: 输入工程名称,选择java module,点击next 接下来什么都不选点击finish, ...
- SQL开发技巧(二)
本系列文章旨在收集在开发过程中遇到的一些常用的SQL语句,然后整理归档,本系列文章基于SQLServer系列,且版本为SQLServer2005及以上-- 文章系列目录 SQL开发技巧(一) SQL开 ...
- MVC5 网站开发之二 创建项目
昨天对项目的思路大致理了一下,今天先把解决方案建立起来.整个解决包含Ninesky.Web.Ninesky.Core,Ninesky.DataLibrary等3个项目.Ninesky.Web是web应 ...
- ASP.NET MVC5 网站开发实践(二) Member区域–管理列表、回复及删除
本来想接着上次把这篇写完的,没想到后来工作的一些事落下了,放假了赶紧补上. 目录: ASP.NET MVC5 网站开发实践 - 概述 ASP.NET MVC5 网站开发实践(一) - 项目框架 ASP ...
- ASP.NET MVC5 网站开发实践(二) Member区域–我的咨询列表及添加咨询
上次把咨询的架构搭好了,现在分两次来完成咨询:1.用户部分,2管理部分.这次实现用户部分,包含两个功能,查看我的咨询和进行咨询. 目录: ASP.NET MVC5 网站开发实践 - 概述 ASP.NE ...
- ASP.NET MVC5 网站开发实践(二) Member区域 - 咨询管理的架构
咨询.留言.投诉等功能是网站应具备的基本功能,可以加强管理员与用户的交流,在上次完成文章部分后,这次开始做Member区域的咨询功能(留言.投诉都是咨询).咨询跟文章非常相似,而且内容更少.更简单. ...
- ASP.NET MVC5 网站开发实践(二) Member区域 - 修改及删除文章
上次做了显示文章列表,再实现修改和删除文章这部分内容就结束了,这次内容比较简单,由于做过了添加文章,修改文章非常类似,就是多了一个TryUpdateModel部分更新模型数据. 目录: ASP.N ...
- ASP.NET MVC5 网站开发实践(二) Member区域 - 全部文章列表
显示文章列表分两块,管理员可以显示全部文章列表,一般用户只显示自己的文章列表.文章列表的显示采用easyui-datagrid.后台需要与之对应的action返回json类型数据 目录 ASP.N ...
随机推荐
- 文件操作(十二)——open,read,close,write,seek,truncate
open函数 #!/usr/bin/env python #-*- coding:utf8 -*- f = open('xxx','r',encoding='utf-8') data = f.read ...
- Python数据挖掘课程
[Python数据挖掘课程]一.安装Python及爬虫入门介绍[Python数据挖掘课程]二.Kmeans聚类数据分析及Anaconda介绍[Python数据挖掘课程]三.Kmeans聚类代码实现.作 ...
- HTML中使用<input>添加的按钮打开一个链接
在HTML中,<form>表单的<input type="button">可以添加一个按钮.如果想让该按钮实现<a> 的超链接功能,需要如下实现 ...
- HDFS集群PB级数据迁移方案-DistCp生产环境实操篇
HDFS集群PB级数据迁移方案-DistCp生产环境实操篇 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 用了接近2个星期的时间,终于把公司的需要的大数据组建部署完毕了,当然,在部 ...
- java中equals和compareTo的区别---解惑
大多转载自 百度知道,个人整理以便日后阅读. value1.compareTo(value2) == 0 value1.equals(value2) equals的效率高些,compareTo其实就是 ...
- CM记录-Hadoop参数调优
1.HDFS调优 a.设置合理的块大小(dfs.block.size) b.将中间结果目录设置为分布在多个磁盘以提升写入速度(mapred.local.dir) c.设置DataNode处理RPC的线 ...
- Cannot send, channel has already failed: tcp://127.0.0.1:8161
解决方案一 我觉得你可能需要把服务完全停掉了 然后重启一下. http://localhost:8161(管理端口) tcp://127.0.0.1:61616(服务端口)
- Java的参数传递是「按值传递」还是「按引用传递」?
JAVA传递的只有值,.传递的都是栈里的的值,只是有些栈里面的是值.有的是内存地址.(原文传递的都是栈里的的值有误,局部变量在栈中,成员变量在堆中,类变量(静态变量和常量)在方法区中,可以看做本文的变 ...
- 求FIRST集和FOLLOW集
花了点时间弄了个大概,希望对和我一样的人有所帮助. 文法如下: E -> TE'E' -> +TE'|εT -> FT'T' -> *FT'|εF -> (E)|id ...
- 三、内存管理单元---MMU
3.1 MMU介绍 3.1.1 MMU 特性 内存管理单元(Memory Management Unit)简称MMU,它负责虚拟地址到物理地址的映射,并提供硬件机制的内存访问权限检查.现在的多用户多进 ...