1.右键选择eclipse中需要导出的工程,点击“Export”-->Java-->Runnable JAR file --->Next;
2.在Launch configuration中选定你需要执行的主程序入口,“Export destination"中选择导出jar文件需要存放的位置,”Library hadling"中有三个选择“Extract required libraries into generated JAR” 把需要依赖的libraries按照文件夹导出;“Package required libraries into generated JAR” 把依赖的所以lib正常导出与主类放在同一个jar文件里面;"Copy required libraries into a sub-folder next to the generated JAR" 导出依赖的jar,而且依赖的jars放在一个单独的文件夹里面,这个文件夹和需要导出的目标jar在同一级目录,也就是说倒出来一个目标jar文件,还有一个文件夹,里面存放了所有依赖的jars,最后点击完成,我推荐使用第三个选项。
3.接下来我们需要写bat脚本:
Ngx.jar 是我导出来的目标jar文件,主方法在Ngx.jar 里面的com.test.monitor.GetLog 类中:
%~d0
cd %~dp0
java -Xms256M -Xmx1024M -cp ../lib/commons-lang3-3.1.jar;../lib/commons-logging-1.1.1.jar;../lib/jackson-core-asl-1.9.10.jar;../lib/jackson-core-lgpl-1.9.8.jar;../lib/jackson-mapper-asl-1.9.10.jar;../lib/jackson-mapper-lgpl-1.9.8.jar;../lib/json-20140107.jar;../lib/jsoup-1.7.3.jar;../lib/mysql-connector-java-5.1.30-bin.jar;../lib/log4j-1.2.17.jar;../lib/commons-codec-1.6.jar;../lib/commons-0.0.1-SNAPSHOT.jar.;Ngx.jar;com.test.monitor.GetLog--context=Default %*
pause
所有依赖的jar放在Ngx.jar 文件上级的lib文件夹里面。
接下来点击bat就可以正常执行了。
在bat里面加上pause是因为bat程序在运行完以后会停止,windows窗口不会自动关闭,这样如果程序里面打印的内容也会显示出来,如果没有加pause,bat文件执行完成以后就会自动关闭windows窗口。