将eclipse java程序打包成jar的总结(包括工程中没有引用外部jar包和有引用外部jar包两种情况)
一.当eclispe java工程中没有引用外部jar包时:
选中工程---->右键,Export...--->Java--->JAR file--->next-->填写jar file的路径及名称-->next-->next---> 填写main class--->finish,然后就在相应的目录下得到jar file文件!
然后可以在cmd命令行下执行:java -jar 存放路径\SortAndFrequency.jar >存放路径\log.txt
即可正确运行,并且能够在log.txt文件中得到程序中的输出信息(log.txt是一个日志文件)。
然而这种运行jar程序的方法有点麻烦,较简便的方法是在得到的jar file的同级目录下写一个run.bat批处理文件,内容为:java -jar SortAndFrequency.jar >log.txt (由于是同级目录,所以都不用写绝对路径!!)
二.当eclispe java工程中有引用外部jar包时:
当工程引用了其他的外部jar时,由于eclipse不支持同时导出外部jar包的功能,所以比较麻烦一点;具体步骤如下: 1.生成manifest file:选中工程--->右键,Export--->Java--->JAR file--->选择jar file的路 径及名称--->next--->next--->next; 此时来到了方法1中要选择main class的窗口,但这里先不选择main class,选择最上方的Generate the manifest
file, 勾上Save the manifest in the workspace,在Manifest file:中输入file的名称,如/Property_Calculate_0701/main,(其中Property_Calculate_0701为工程名,main为manifest file的名称)点击finish,回到工程,打开刚刚生成的main,在这里要输入如下信息:
Manifest-Version: 1.0
Main-Class: VideoOntology.Property_Calculate
Class-Path: extralib.jar sqljdbc4.jar
其中,Manifest-Version: 1.0为刚刚自动生成的manifest版本号;
Main-Class: VideoOntology.Property_Calculate为main class所在类;
Class-Path: extralib.jar sqljdbc4.jar为外部jar包名称,这里是告诉导出的jar包所要用到的外部的jar包的路径及名称。
特别注意:多个jar必须在一行上,且以空格隔开
上面都做完了就可以导出带外部jar包的jar包了,步骤如下: 选中工程--->右键,Export--->Java--->JAR file--->选择jar file的路径及名称--->next--->next--->next,这时又来到了选择main class的窗口,但这里也不选择main class,选择Use existing manifest from workspace,在Manifest file:里选择刚刚生成的main,如:/Property_Calculate_0701/main,点击finish,到此就大功告成啦;假设生成的jar包的名称为Property_Calculate.jar,那么Class-Path中引入的extralib.jar 和sqljdbc4.jar要和Property_Calculate.jar位于同一个目录下。
完成后依然可以在生成jar包的同级目录下建立run.bat批处理文件:
java -jar Property_Calculate.jar >log.txt
(如果要运行的程序需要的内存空间很大,并且需要向java程序里传入命令行参数,可以加入设置虚拟机内存参数和传入命令行参数的设置,例如:java -Xms1536m -Xmx1536m -jar SqlSearchInfo.jar video 笑傲江湖 E: >log.txt)
运行之,大功告成!
注意: 当程序用到了外部的dll,打成jar后需要把用到的dll放到jar包的同级目录才能正常运行!!!!
补充:
如果引入的外部jar包太多,在Class-Path:中写下一个个的外部jar包太麻烦,这时可以使用一个打包的插件:fat jar。可以方便的完成各种打包任务,可以包含外部的包等 。呵呵!很好用。
下载fatJar插件,解压缩后是一个.../plugins/(net...)把plugins下面的(net..)文件夹拷贝到eclipse的plugins下,重新启动Eclipse,Windows=>prefernce=>fat jar preference看到他就说明已经安装成功了。如果没有看到,没有关系,删除D:/eclipse/configuration/org.eclipse.update/platform.xml文件(此文件可以自动生成)不用担心以前的插件会因此而消失,没事。
刚开始找不到如何使用它,后来看到你的项目=〉Export..=>向导里有fat jar =>使用起来真的很方便。 总结:一般把src打包export=>Jar File 即可。想把src附属的资源一起打包,必须使用FatJar => export..=>FatJar.
fatJar这插件打包的时候可把用到的第三方的JAR包也一起打到目标JAR中。
打包方法,图解。
开始:在你的工程项目里右键弹出下图:

然后Buile Fat Jar出现下图:

再然后就Next了,又出现下图:

再然后就没了。在桌面上找到刚刚打包的libr.jar双击,终于成功了,酷啊!!!!
将eclipse java程序打包成jar的总结(包括工程中没有引用外部jar包和有引用外部jar包两种情况)的更多相关文章
- JAVA程序打包成exe文件详细图解
我们都知道Java可以将二进制程序打包成可执行jar文件,双击这个jar和双击exe效果是一样一样的,但感觉还是不同.其实将java程序打包成exe也需要这个可执行jar文件. 准备: eclipse ...
- Java程序打包成exe可执行文件
前言: 我们都知道Java可以将二进制程序打包成可执行jar文件,双击这个jar和双击exe效果是一样一样的,但感觉还是不同.其实将java程序打包成exe也需要这个可执行jar文件. 准备: ecl ...
- JAVA程序打包成exe小程序的过程
编程软件:myeclipse2014 打包exe软件:exe4j 1:在myeclipse2014新建java项目编写程序 2:打包成jar,分两种情况(有无外部依赖包) 无外部依赖包:点击项目--- ...
- 转载:java程序打包成jar 配置文件信息路径
一个普通的java project,里面引用了config.properties配置文件,将项目打成Runnable jar,然后将config.properties放到打包后的jar路径下,执行该j ...
- java程序打包成jar 配置文件信息路径
一个普通的java project,里面引用了config.properties配置文件,将项目打成Runnable jar,然后将config.properties放到打包后的jar路径下,执行该j ...
- Java程序打包成jar包
方法一:通过jar命令 jar命令的用法: 下面是jar命令的帮助说明: 用法:jar {ctxui}[vfm0Me] [jar-file] [manifest-file] [entry-point] ...
- 把Java程序打包成jar文件包并执行
1.首先要确认自己写的程序有没有报错. 2.第一次我写的是Web Project到现在,我一直没有执行成功,所以最好创建的是java Project 打包步骤: 1.在项目上,右键,选择Export. ...
- 使用fat jar和exe4j把java程序打包成exe执行文件---转载的
java应用编写测试好之后都是jar包或class文件,客户拿到这个东西后一般是不会java开发者那样在命令窗口下面输入运行的.客户要求的就是直接点击应用名称运行.java在方面做得很不友好,开发人员 ...
- 使用EXE4J和Inno Setup 编译器将java程序打包成windows桌面应用安装程序
java项目结构如下: Demo是模仿程序快照,主要设计两个按钮:保存快照和恢复快照: 保存快照将对象(窗口)序列化保存下来,后面无论做了什么操作,只要点击恢复快照, 就会读取之前保存的序列化的对象. ...
随机推荐
- 深入详解WPF ControlTemplate
WPF包含数据模板和控件模板,其中控件模板又包括ControlTemplate和ItemsPanelTemplate,这里讨论一下WPF ControlTemplate. 其实WPF的每一个控件都有一 ...
- python 基础 7.5 commands 模块
一. commands 模块 1.commands 模块只使用与linxu 的shell 模式下 在我们平时码字时,经常需要调用系统脚本或者系统命令来解决很多问题,接下来,我们就介绍给大家一个很好 ...
- python发布IIS
参考文档 https://segmentfault.com/a/1190000008909201 http://blog.51cto.com/anngle/1922041 https://www.cn ...
- 3597: [Scoi2014]方伯伯运椰子[分数规划]
3597: [Scoi2014]方伯伯运椰子 Time Limit: 30 Sec Memory Limit: 64 MB Submit: 404 Solved: 249 [Submit][Sta ...
- android菜鸟学习笔记17----Android数据存储(一)文件读写
假如有如下需求,要求能够记录用户输入的用户名和密码,下次登录时,能直接获取之前保存的用户名密码,并在相应的EditText中显示. 要保存用户输入的数据,最先想到的应该就是文件读写了. 通过对andr ...
- XShell 连接 vm虚拟机中的redhat Linux系统
选择的是nat链接,因为nat链接是没有网络的情况下,也是可以链接操作的,当然bridge也可以,那我就从第一步开始; 因为有的人可能改过电脑上的虚拟适配器的ip地址,导致和虚拟机默认的不一样了.如果 ...
- 用php動態產生各種尺寸的圖片
我的做法是用php動態產生各種尺寸的圖片,例如<img src="img.php?src=a.jpg&width=100&height=200"...< ...
- MV45AOZZ 销售订单增强点
[转自 http://blog.csdn.net/zhongguomao/article/details/6712580]choose the table VBAP or VBAK ( dependi ...
- zabbix监控系统性能采集指标
监控项目 详细内容 ...
- Ruby 仿 C 结构体:CStruct 的一些例子
1. [代码]最简单的例子 # CStruct Examplesrequire 'cstruct' # example:# struct Point in C\C++ (32-b ...