一.当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. VirtualBox装ghost XP

    在win7 professional 64上安装了virtualBox4.3.14 r95030 版本,之所以要安装这个vb,是因为刚升级的vm 打开之后很占用cpu, 网上又说vb不是很占用cpu而 ...

  2. Python常用函数笔记

    1.lambda lambda其实就是一条语句,lambda(x):body.x是lambda函数的参数,参数可以有任意多个(包括可选参数);body是函数体,只能是一个表达式,并且直接返回该表达式的 ...

  3. bind,call,apply区别

     js中bind.call.apply函数的用法 2015-02-27 21:16:39 标签:javascript js bind call apply 原创作品,允许转载,转载时请务必以超链接形式 ...

  4. 字符函数库 cctype

    <cctype> (ctype.h) Character handling functions This header declares a set of functions to cla ...

  5. MySQL中的主键,外键有什么作用详解

    MySQL中的主键,外键有什么作用详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 学关系型数据库的同学,尤其在学习主键和外键时会产生一定的困惑.那么今天我们就把这个困惑连根拔起 ...

  6. bzoj 3997 Dilworth定理

    看到这道题感觉像是网络流,如果没有权值,可以用DAG最小路径覆盖,有权值,感觉可以求一个上下界最小可行流,但内存卡了....时间估计也悬. 正解要用到一些数学知识,这里梳理一下: 定义: 偏序关系: ...

  7. Ubuntu 10.04下如何查看分区的UUID

    Ubuntu 10.04通过UUID来区分各个磁盘分区,在/etc/fstab配置文件中就是通过UUID来挂载分区的.UUID,英文全称为:Universally Unique Identifier. ...

  8. 简易C#动态加载dll(实现插件化)

    可以通过该方法来实现程序插件化. 假设A,B两个类,A类为宿主,B类为插件需要加载到A类中: class Program { public interface IHellow { void Hello ...

  9. VC6.0快捷键一览表

    F1 显示帮助,如果光标停在代码的某个字符上,显示MSDN中相应的帮助内容 F2 书签功能: Ctrl+F2 –在某行设置一个书签(再按一次次是取消) F2 –跳到下一个书签位置 Shift+F2 – ...

  10. RabbitMQ 资料整理

    前言: 官方教程: https://www.rabbitmq.com/getstarted.html 应用场景(之马云赚钱): http://blog.csdn.net/whoamiyang/arti ...