eclipse导出混淆jar包怎么导出可执行jar包

师兄部署了新的虚拟机,新学期大搞起来!之前由于爬虫代码不稳定,所以一直都是直接用Eclipse运行,然后遇到问题就修改的。但是这个比较麻烦,而且Eclipse本身就很占内存啊,摔!所以今天下午就把之前的代码清减了一下,对很多挫挫的System.out.println替换了log4j,路径啊数据库连接呀用配置文件处理了,最后打成可执行的Jar,这样在新的虚机上就可以大展拳脚咯^_^Y
Biu~废话说完,进入正题,将Java工程打包成可执行的Jar有各种方法,网上很多也不举例了,什么配置MANIFET文件啊之类的。其实有一个最简单可行的方法,就是直接用Eclipse导出Runnable JAR file。
我的Eclipse版本是Indigo Service Release 1(貌似就是传说中的3.7,不确定)
1. 首先,右键你的Java工程,选择Export,在Java文件夹下选择Runnable JAR file,如下图所示:
2. 选择Runnable JAR file后,会弹出如下所示的对话框,选择好导出路径后,默认Finish其实就可以了。但是需要注意的是两点:
你在run configuration中设置的JVM参数在打包完成后,就不再起作用了,需要在执行jar时在命令行中指定(见4);
对于以来的第三方包有三种处理方式,其实无论哪一种都不会影响你的使用的,我默认使用的是第一种,他会把以来的第三方jar包解压缩放到src中。
3. Finish之后,可执行的jar包就生成完毕了,如果你的工程中包含配置文件,如conf/xx.properties,那么就在与jar包同层的目录下创建conf目录,并在conf目录中放入xx.properties,如下图所示:
4. 最后就是运行打包好的jar文件了,在命令行中执行start java命令,并指定JVM参数,例如设置初始分配内存128M,最大256M:
start java -Xmx256m -Xms128m -jar spider.jar
在上图中,我们可以看到有一个run.bat文件,这个文件其实里面就只有一行命令:start java -Xmx256m -Xms128m -jar spider.jar,这样双击就可以执行jar了。在需要更改启动参数时,只要编辑run.bat就OK了。
好啦,算是个mark的过程啦,其实很简单的,就是不知道的时候需要到出查资料,又试来试去的有点儿浪费时间。:)
阅读(...) 评论()主题信息(必填)
主题描述(最多限制在50个字符)
申请人信息(必填)
申请信息已提交审核,请注意查收邮件,我们会尽快给您反馈。
如有疑问,请联系
CSDN &《程序员》编辑/记者,投稿&纠错等事宜请致邮
你只管努力,剩下的交给时光!
如今的编程是一场程序员和上帝的竞赛,程序员要开发出更大更好、傻瓜都会用到软件。而上帝在努力创造出更大更傻的傻瓜。目前为止,上帝是赢的。个人网站:。个人QQ群:、
个人大数据技术博客:
eclipse生成【带有外部jar包】的java可执行jar包eclipse juno版导出的可运行jar包,双击不能执行? - ITeye问答
eclipse juno版导出的可运行jar包,双击不能执行,不知道大家是否遇到过?
检查两个地方.
1. 导出的时候是否设置了, main-class.
在mani-fest文件中制定, eclipse导出的时候应该有这个设置。
我用的Ant, 设置如下:
&target name="jar" depends="compile"&
&delete dir="${bin.dir}/jar"/&
&mkdir dir="${bin.dir}/jar"/&
&jar destfile="${bin.dir}/jar/${ant.project.name}.${version}.jar"&
&fileset dir="${classes.dir}"&
&include name="**/*.class"/&
&include name="**/*.properties"/&
&/fileset&
&zipgroupfileset dir="${lib.dir}" includes="*.jar" /&
&manifest&
&attribute name="Main-Class" value="${mainclass}"/&
&/manifest&
2. windows 下是否将 jar 版定到 java.& 一般会被绑定到 winrar 上。
如果不行, 在cmd 中 使用 java -jar :
java -jar /home/lvjian/sts/mas-message/bin/jar/mas-message.0.1.0.jar
看看能够运行。如果可以, 在jar目录下写个bat. 需要执行的时候, 双击bat
他的系统关联jar包的程序给改了呗,不然你们的哪些问题早就报错报出来了
1.确保运行JAR包的电脑上安装了JRE。
2.确保JAR包指定了MAIN-CLASS
3.如果还不行用cmd,命令行运行,看报错。
可能是下面原因之一
1.改到英文路径下
2.不要放到桌面,可能导出到桌面环境后默认文件是只读的
3.JAVA_HOME环境变量设置并把JAVA_HOME\bin的路径放到PATH中
4.运行jar包的PC没有安装jre
已解决问题
未解决问题Eclipse有个功能就是把整个项目打包成一个可执行的Jar文件,里面包含了所有项目引用了的库,如果电脑上安装了JRE,直接双击就可以启动,看起来很方便,如下图所示:可以选择把所有类库打包进去,也就是Jar里面还包含一堆Jar:还可以生成ant脚本:生成的jar文件,可以直接通过java -jar xx.jar启动,简单快捷。然而,这样导出来的可执行jar,启动速度却非常慢,这跟包的大小有关。有个项目导出来的包有40MB,结果启动需要近一分钟,在性能差的电脑上,甚至要几分钟,就是你执行完命令后,没有任何界面显示,但是查看任务管理器发现java进程的CPU占用率在浮动,说明正在努力启动,过了一段时间之后界面突然显示出来,简直让人崩溃。可是在Eclipse里面运行,却是一点就开。我开始尝试缩小导出的包。但是Eclipse的导出对话框并没有提供需要打包哪些库的选项,都是默认把所有库都打包进去,但是它可以生成ant脚本,可以通过编辑ant脚本的方式来减少不必要的库。经过多次尝试,终于把40MB的包缩成了17MB,启动速度快了一些,但是依然需要半分钟以上。后来觉得,能不能不打包直接运行呢?于是把导出来的包用压缩软件解压,再把里面包含的jar包继续解压,最后得到一堆没有压缩的class文件,再通过指定classpath的方式,直接运行程序入口class,发现启动速度和在Eclipse里面一样,一点就开。打包的好处是部署简单,只需要一个文件,但带来的缺点实在不能忍,打散的方式部署起来稍微难一点,但是启动速度够快,对普通用户来说,这个才是最重要的。当然,还有一种方式是像Eclipse那样,启动时显示一个图片,底下一个进度条显示启动进度,不过这样也加大了工作量,而且每次都要等那进度条,实际上也很烦。

我要回帖

更多关于 eclipse怎么导出jar包 的文章

 

随机推荐