一.当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下载地址

下载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包两种情况)的更多相关文章

  1. JAVA程序打包成exe文件详细图解

    我们都知道Java可以将二进制程序打包成可执行jar文件,双击这个jar和双击exe效果是一样一样的,但感觉还是不同.其实将java程序打包成exe也需要这个可执行jar文件. 准备: eclipse ...

  2. Java程序打包成exe可执行文件

    前言: 我们都知道Java可以将二进制程序打包成可执行jar文件,双击这个jar和双击exe效果是一样一样的,但感觉还是不同.其实将java程序打包成exe也需要这个可执行jar文件. 准备: ecl ...

  3. JAVA程序打包成exe小程序的过程

    编程软件:myeclipse2014 打包exe软件:exe4j 1:在myeclipse2014新建java项目编写程序 2:打包成jar,分两种情况(有无外部依赖包) 无外部依赖包:点击项目--- ...

  4. 转载:java程序打包成jar 配置文件信息路径

    一个普通的java project,里面引用了config.properties配置文件,将项目打成Runnable jar,然后将config.properties放到打包后的jar路径下,执行该j ...

  5. java程序打包成jar 配置文件信息路径

    一个普通的java project,里面引用了config.properties配置文件,将项目打成Runnable jar,然后将config.properties放到打包后的jar路径下,执行该j ...

  6. Java程序打包成jar包

    方法一:通过jar命令 jar命令的用法: 下面是jar命令的帮助说明: 用法:jar {ctxui}[vfm0Me] [jar-file] [manifest-file] [entry-point] ...

  7. 把Java程序打包成jar文件包并执行

    1.首先要确认自己写的程序有没有报错. 2.第一次我写的是Web Project到现在,我一直没有执行成功,所以最好创建的是java Project 打包步骤: 1.在项目上,右键,选择Export. ...

  8. 使用fat jar和exe4j把java程序打包成exe执行文件---转载的

    java应用编写测试好之后都是jar包或class文件,客户拿到这个东西后一般是不会java开发者那样在命令窗口下面输入运行的.客户要求的就是直接点击应用名称运行.java在方面做得很不友好,开发人员 ...

  9. 使用EXE4J和Inno Setup 编译器将java程序打包成windows桌面应用安装程序

    java项目结构如下: Demo是模仿程序快照,主要设计两个按钮:保存快照和恢复快照: 保存快照将对象(窗口)序列化保存下来,后面无论做了什么操作,只要点击恢复快照, 就会读取之前保存的序列化的对象. ...

随机推荐

  1. YII框架学习(一)

    1.安装: windows:将php命令所在的文件夹路径加入到环境变量中,通过cmd命令:进入yii框架中的framework目录,执行: php yiic webapp ../cms linux:类 ...

  2. NDK以及C语言基础语法(一)

    一.什么是NDK? Native Development Kit (本地开发工具包): NDK中提供了一系列的工具,帮助我们快速开发C/C++的动态库,并能自动将so文件和java文件一起打包成apk ...

  3. python 基础 8.3 match方法和search方法

    一,正则对象的split 方法 split(string[,maxsplit]) 按照能够匹配的字串讲string 分割后返回列表.maxsplit 用于指定最大分割次数,不指定将全部分割.来查找符合 ...

  4. 1355: [Baltic2009]Radio Transmission[循环节]

    1355: [Baltic2009]Radio Transmission Time Limit: 10 Sec  Memory Limit: 64 MBSubmit: 796  Solved: 538 ...

  5. 九度OJ 1028:继续畅通工程 (最小生成树)

    时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:3140 解决:1338 题目描述:     省政府"畅通工程"的目标是使全省任何两个村庄间都可以实现公路交通(但不一定有 ...

  6. MySQL——sql语句的执行顺序

    #核心知识点: 书写顺序:where——>group by——>having——>order by——>limit 许多时候在书写一些复杂的sql语句的时候,尤其是在渐进式推导 ...

  7. 微信小程序开发:学习笔记[7]——理解小程序的宿主环境

    微信小程序开发:学习笔记[7]——理解小程序的宿主环境 渲染层与逻辑层 小程序的运行环境分成渲染层和逻辑层. 程序构造器

  8. POJ - 3278 Catch That Cow 【BFS】

    题目链接 http://poj.org/problem?id=3278 题意 给出两个数字 N K 每次 都可以用三个操作 + 1 - 1 * 2 求 最少的操作次数 使得 N 变成 K 思路 BFS ...

  9. react-native修改android包名

    安卓已包名作为应用的唯一id,相对iOS来说改起来就不是那么方便,但为了能正式发布自己的应用,还是得改过来. 假设包名为com.exease.etd.objective,以下地方需要修改. 首先是两个 ...

  10. linux系统调用mount全过程分析【转】

    本文转载自:https://blog.csdn.net/skyflying2012/article/details/9748133 系统调用本身是软中断,使用系统调用,内核也陷入内核态,异常处理,找到 ...