Java一个小应用项目打包心得
来源:互联网 发布:穿越火线弹道优化 编辑:程序博客网 时间:2024/06/05 07:35
首先看一下项目结构:
说明:
1、其中com.yp.jars里面放了mssql驱动和jdom的jar包。
2、可以看到resources资源文件夹里有三个文件,其中sysTray.jpg是当程序缩小到系统托盘时显示的图标,databases.xml是数据库配置文件。
难点阐述:
在com.yp.base包里有一个类文件ConnectionFinder.java和com.yp.client包里有一个类文件YPEnglishClient.java 他们在程序运行的时候需要读取到上面我们说的sysTray.jpg和databases.xml文件,当你在eclipse里编写与测试的时候一切正常,而一旦打包好之后程序就不能正常运行。经过研究发现原来是当程序打包好就变成了一个*.jar的文件,自然读取不到我们要的那两个文件。解决办法就是当程序打包好之后,把包含这以上我们要读取的两个文件的文件夹resources,放到与项目打包好之后的*.jar文件同级目录中。
这里还要进一步说明的是,文件我放好了,那程序里读取文件的代码该如何写呢,这里我将源代码复制上来,如下:(基本原理就是设法读取到项目文件路径)
ConnectionFinder.java 文件中的代码:
String filePath=System.getProperty("user.dir")+"/resources/databases.xml";//项目路径加文件路径
Document doc=builder.build(new File(filePath));
YPEnglishClient.java 文件中的代码:
String filePath=System.getProperty("user.dir")+"/resources/sysTray.jpg";//项目路径加文件路径
trayIcon=new TrayIcon(ImageIO.read(new File(filePath)));//设置托盘的图标
其中的System.getProperty("user.dir")就是去的项目的路径
实际的打包步骤如下:
第一步:安装fat jar
下载地址:http://sourceforge.net/project/showfiles.php?group_id=115990&package_id=125924 解压缩后是一个net.sf.fjep.fatjar_0.0.31文件夹,把其中plugins下面的net.sf.fjep.fatjar_0.0.31.jar文件夹拷贝到eclipse的plugins下,重新启动Eclipse3.1,Windows=>prefernce=>fat jar preference看到他就说明已经安装成功了。如果没有看到,没有关系,删除D:/eclipse310/configuration/org.eclipse.update/platform.xml文件(此文件可以自动生成)不用担心以前的插件会因此而消失,没事。
第二步:开始打包
右键项目选择Export(导出)=>Other=>Fat Jar Exporter 如图:
点击next,选择你要打包的项目。出现提示框,如图:
解释:
1、use extern Jar-Name 勾选上之后点击右边的Borwse按钮可以选择项目外的路径,否则打包的程序会在项目文件夹里面。在这里,我勾选上了。
2、select Manifest file 是指的清单文件,里面应该写的是打包的文件信息。但是由于我不知道怎么写清单文件类容。如果未选择它。
3、Main-Class 选择程序入口的main方法
4、One-JAR 这个是最关键了,应为我想把我的项目就打包成一个jar文件,拿到哪里都能用,所以我勾选上了.
5、点击Finish完成。
6、找到打包好的文件,在相同目录中新建一个文件夹resources(与项目中的resources资源文件夹同名),然后将项目中的resources的databases.xml和sysTray.jpg两个我们要用到的文件拷贝到这个新建的resources文件夹中。
7、一切完成~~开心ing……
- Java一个小应用项目打包心得
- 一个java的小项目
- 一个java项目的打包与发布
- 一个小项目完成后的一点心得
- 小项目心得
- 自己定个一个小项目,探究web应用期间,动态编译java脚本的影响
- 一个简单java小程序打包成EXE运行文件
- java 的一个小系统编好后,怎么打包??
- Java集合应用中的一个小问题
- java中栈的一个小应用..
- 一个java web的ssh小项目
- 两小时一个Java小项目---TelBook
- 应用EventHandle开发的一个发邮件的小项目
- 一个项目总监/经理心得
- Java Web应用打包
- 白话Java应用打包
- maven项目JavaWeb应用打包
- JAVA项目的打包
- Java获取MAC地址
- C#中英文混合朗读文本代码
- Ubuntu卸载旧内核
- C#中英文语音合成与中文语音识别技术
- C#中怎么复制数组?C#复制数组的5种方法
- Java一个小应用项目打包心得
- C# 开发winform程序 手机短信群发系统
- java 正则表达式教程收集
- ASP.NET备份还原数据库
- Sql Server 数据类型
- 人情世故36条
- 让Flash自适应浏览器屏幕大小的几种方法
- 关于Jboss的一些事情
- Shutdown控制电脑重启,关机