将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是模仿程序快照,主要设计两个按钮:保存快照和恢复快照: 保存快照将对象(窗口)序列化保存下来,后面无论做了什么操作,只要点击恢复快照, 就会读取之前保存的序列化的对象. ...
随机推荐
- YII框架学习(一)
1.安装: windows:将php命令所在的文件夹路径加入到环境变量中,通过cmd命令:进入yii框架中的framework目录,执行: php yiic webapp ../cms linux:类 ...
- NDK以及C语言基础语法(一)
一.什么是NDK? Native Development Kit (本地开发工具包): NDK中提供了一系列的工具,帮助我们快速开发C/C++的动态库,并能自动将so文件和java文件一起打包成apk ...
- python 基础 8.3 match方法和search方法
一,正则对象的split 方法 split(string[,maxsplit]) 按照能够匹配的字串讲string 分割后返回列表.maxsplit 用于指定最大分割次数,不指定将全部分割.来查找符合 ...
- 1355: [Baltic2009]Radio Transmission[循环节]
1355: [Baltic2009]Radio Transmission Time Limit: 10 Sec Memory Limit: 64 MBSubmit: 796 Solved: 538 ...
- 九度OJ 1028:继续畅通工程 (最小生成树)
时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:3140 解决:1338 题目描述: 省政府"畅通工程"的目标是使全省任何两个村庄间都可以实现公路交通(但不一定有 ...
- MySQL——sql语句的执行顺序
#核心知识点: 书写顺序:where——>group by——>having——>order by——>limit 许多时候在书写一些复杂的sql语句的时候,尤其是在渐进式推导 ...
- 微信小程序开发:学习笔记[7]——理解小程序的宿主环境
微信小程序开发:学习笔记[7]——理解小程序的宿主环境 渲染层与逻辑层 小程序的运行环境分成渲染层和逻辑层. 程序构造器
- POJ - 3278 Catch That Cow 【BFS】
题目链接 http://poj.org/problem?id=3278 题意 给出两个数字 N K 每次 都可以用三个操作 + 1 - 1 * 2 求 最少的操作次数 使得 N 变成 K 思路 BFS ...
- react-native修改android包名
安卓已包名作为应用的唯一id,相对iOS来说改起来就不是那么方便,但为了能正式发布自己的应用,还是得改过来. 假设包名为com.exease.etd.objective,以下地方需要修改. 首先是两个 ...
- linux系统调用mount全过程分析【转】
本文转载自:https://blog.csdn.net/skyflying2012/article/details/9748133 系统调用本身是软中断,使用系统调用,内核也陷入内核态,异常处理,找到 ...