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 ...
随机推荐
- Kafka+Log4j2日志
默认你已经安装配置了Zookeeper和Kafka. 为了目录清晰,我的Kafka配置文件的Zookeeper部分是:加上了节点用来存放Kafka信息 启动Zookeeper,然后启动Kafka. Z ...
- git 合并连续的几个 commits
命令 git rebase -i HEAD~[N],如 git rebase -i HEAD~3 合并最近 3 个 commit. 运行上述界面后会进入一个编辑界面,快捷键是 vim 的快捷键. 修改 ...
- request请求地址
1.String contextPath = httpServletRequest.getServletContext().getContextPath(); /项目名称 2.String conte ...
- HBase基础之常用过滤器hbase shell操作
创建表 create 'test1', 'lf', 'sf' lf: column family of LONG values (binary value) -- sf: column family ...
- Linux命令之ln
ln命令(是l不是i注意了) 用处:建立链接,分为软链接和硬链接 用法:下面讲 示例: 一.硬链接 我想给profile文件建立一个硬链接(硬链接就是把这个文件复制一份的意思) 硬链接hard建好了, ...
- JAVA中初始化ArrayList的三种方式
下面讲一下ArrayList初始化的几种不同方式. 一.最常用的初始化方式. List<String> list1 = new ArrayList<String>(); lis ...
- Linux - vim 编辑器
gconf-editor # 配置编辑器 /etc/vimrc # 配置文件路径 vim +24 file # 打开文件定位到指定行 vim file1 file2 # 打开多个文件 vim -O2 ...
- 时间轴QTimeLine
一个动画由多张静态图片组成,每一张静态图片为一帧.每隔一定时间显示一帧,如果时间间隔非常短的话,那这些静态图片就会构成一个连续影像,动画由此而来.QTimeLine提供了用于控制动画的时间轴,它在实现 ...
- pyqt5-多线程QThread类
要实现多线程,我们要先继承QThread类并重新实现其中的run()函数,也就是说把耗时的操作放入run()函数中 import sys from PyQt5.QtCore import Qt, QT ...
- mysql 案例 ~查询导致的tmp临时文件问题
一 简介:之前遇到一个tmp分区暴涨的问题,后来经过大神的指点,遂分析写下 二 分类: 1 select语句出现 using temporay tmp 下出现 #sql_631a_1.MYD #sq ...