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 ...
随机推荐
- JSP总结(一)——基础(汇总)
前言:原本呢,是打算只写个JSP的内置对象总结,但是没想到这个家伙的JSP总结非常不错,我就拿来用了. 注:后缀为汇总的基本上是整理一些网上的. 借鉴地址:http://www.cnblogs.com ...
- ps 中取消网格线的吸附功能,其实是对齐功能
ps 中取消网格线的吸附功能,其实是对齐功能
- Adobe Premiere Pro CC ------ 快捷键
ctrl + ~:全屏 Esc:退出全屏
- saltstack 常用模块
cp模块 功能:实现远程文件.目录的复制,以及下载URL文件等操作 使用cp模块配置管理之前,要首先指定saltstack所有状态文件的根目录,在master上做如下操作: 指定根目录(确定指定的目录 ...
- Hadoop生态圈-Cloudera Manager的基本使用
Hadoop生态圈-Cloudera Manager的基本使用 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 1>.ClouderaManager功能 1.1>.管理监 ...
- IP路由原理
IP路由原理 一.什么是路由 路由是指导IP报文发送的路径信息. 二.路由表的构成 路由表是路由器转发报文的判断依据 三.路由器单跳操作 四.路由表查找规则 1.选择度量值小的进行转发 2.永远将下一 ...
- db nosql redis / Redis Sentinel
s Redis基础原理和日常操作方法 http://itsm.cns*****.com/kindeditor/img/20170527/759128afca564051b491e6a51a5bad40 ...
- Python基础【day02】:列表(三)
本节内容 0.列表常用功能汇总1.定义列表2.访问列表中的元素3.切片4.追加5.插入6.修改7.拷贝8.删除9.扩展10.统计11.翻转12.排序13.获取下标值14.清空列表 列表是Python最 ...
- 绕过/*,web.xml直接访问jsp【转】
web.xml中如果配置了/* 全匹配,那么不能用servet去响应页面返回了,因为全都被会/*拦截. <servlet> <servlet-name>validateAuth ...
- go函数练习
1.编写程序,在终端输出九九乘法表. package main import ( "fmt" ) func main() { for i := 1; i <= 9; i++ ...