大上周刚刚了结一个桌面软件项目。这个项目需要用到
SNMP
协议,我刚开始尝试使用不熟的C#,但始终无法ping通目标主机,反而是Java一下就通了,看来还是熟悉的东西比较稳妥。但是用Java的话,大家都懂的~~~(宝宝心里苦啊)
Java 搭建桌面程序不是不可以,而是需要面临很多棘手的问题。软件编写完成后,本来以为大功告成,奈何还要解决编译、打包、如何运行在别人的机器上等等诸如此类的问题,麻烦的要命。这真的要感谢很多前辈的博文,给了我很多启发,帮助我渡过难关。现将自己所经历的一切总结成文,希望可以帮助到各位同仁,大家一起愉快的玩耍岂不美哉(嘿嘿嘿嘿~~~)
文章涉及软件与技术
- 打包工具:exe4j 6.0【提取码:9vpx】、Inno Setup 5【提取码:64ss】
- 项目技术选型:
JDK1.8(32/64 涉及到使用此软件电脑的版本)
,Druid
,Commons3
,Commons-Email
,Lombok
,Dbutils
- 数据库:
Access(驱动:ucanaccess)
- 其它:
软件图标(.ico)
工程说明
- 首先对工程目录做下说明。
src目录
下,二十几个包,就不打开了。主要说下,为什么有两个resources目录
。利用EXE4j
将项目打包成.exe
后,配置文件会被一起打包,为了实现配置独立,又将resources目录
独立出一份。这样做之后,resources文件夹
要和.exe
可执行程序处于同一文件目录下,程序才能加载到配置文件。当然,也可以在代码中自定义配置文件路径,但那样做之后,可能会在路径问题上耗费较多时间(例如我,log4j
日志生成目录弄了半天) - 当前这个工程,我是将
log4j
配置文件,加入到maven
下的resources
里面的,但在最后生成时,我是将这个文件,放到外层的resources
里,和其它配置文件处于同一目录。这样的原因是,如果在Eclipse
里面,直接将log4j
配置文件放到外层的resources
里面,会出现加载不到该配置文件的情况(我想把这几个配置文件独立出来,所以没有采用默认路径加载,而是自加载的方式),所以在Eclipse
里面测试时,log4j
配置文件就放在maven
管理的resouces
下了。只要log4j
配置文件可以正常加载,生成日志的文件路径,就不用操心了。 images
后期没有改动的需求,一并加入到resources
管理
准备工作
- Java程序是运行在
虚拟机