相信大家在开发java的时候一定会遇到要求将java工程打包成可运行的jar的需求,今天我在这篇博客中详细讲解一下生成可运行jar的两种方法,亲测完全可行。

1. 工程中不包含第三方的jar包

这种情况比较简单,选中需要生成jar的工程,右击-->Export,出现如下的窗口

选中java--- > JAR file,出现如下窗口,

此处要:

选中 Export generated class files and resources;
选中 Compress the contents of the JAR file;
选中 Overwrite existing files without warning;

然后“Next”,出现如下窗口

选中 Export class files with compile errors;
选中 Export class files with compile warnings;

点击“Next”,出现如下窗口

选择“Main class”,then “finish” OK。

运行jar包的方法:

cmd,进入jar包所在的位置,运行命令 java -jar *.jar,就可以了。或者直接配置文件关联。

2.工程包含第三方的jar包时


果工程中包含第三方的jar包时,安装上面的方法生产的jar包,在运行时会报java.lang.NoClassDefFoundError的错,经过
google,
baidu很多网站之后,发现需要安装eclipse的插件,插件地址是:http://sourceforge.net/projects/fjep/

下载的文件是“net.sf.fjep.fatjar_0.0.31.zip”,解压缩后你会看到plugins文件夹中的
net.sf.fjep.fatjar_0.0.31.jar文件(简称Fat jar)。

Fat jar插件的安装方式:

把Fat

jar文件拷贝到你的eclipse目录下的plugins中..重新启动你的eclipse平台,然后查看Window---preferences,
弹出的窗口中有Fat jar
preferences这一项则说明你已经安装成功了,没有这一项则未安装成功,需要多做如下几步操作:到你的eclipse目录下的
configuration---org.eclipse.update,并删除platform.xml文件,然后重新启动eclipse.查看
Window---preferences,你会发现Fat jar,效果如下图:

接下来就可以生成包含第三方jar包的可运行的jar包了。

选中工程,右击 -- > Export --- > Other --- > Fat jar Exportor,效果如下图所示,

然后,next ---> 选中要生成jar包的工程 --  > next ---> 出现如下图所示的界面

在这里需要设置Main-class,它的值是工程运行的main class,并且勾上One-JAR,点击 next出现如下窗口:


是项目引用的第三方类库,点击“finish”,这样就生成了包含第三方jar包的可运行的jar包。以上上在基于Eclipse
3.6.2(蓝色标题栏)和Eclipse 4.2.1(红色标题栏)的效果,如果是Eclipse
3.6以下的版本(具体的版本不确定,因为我没有试过),在选中工程右击后,会有Build Fat Jar,如下图所示,

接下来的操作大同小异了。

eclipse生成可执行jar包[转]的更多相关文章

  1. eclipse生成可执行jar包(引入第三方.jar文件)

    1. eclipse建立普通的java project项目(项目名aa) 2. 项目正常组织通过buildpath加载各种jar包入项目aa比如例子项目里,加入了spring 各种jar包加入各种配置 ...

  2. JAVA生成(可执行)Jar包的全面详解说明 [打包][SpringBoot][Eclipse][IDEA][Maven][Gradle][分离][可执行]

    辛苦所得,转载还请注明: https://www.cnblogs.com/applerosa/p/9739007.html  得空整理了关于java 开发中,所有打包方式的 一个操作方法, 有基于ID ...

  3. Java项目生成可执行jar包、exe文件以及在Windows下的安装文件

    1.如何通过eclipse将Java项目生成可执行jar包 首先把在eclipse下的java项目导出jar file 下一步 下一步 下一步 最后点击完成,便生成了可执行的jar文件.可以在刚刚选择 ...

  4. maven插件生成可执行jar包

    <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-assem ...

  5. eclipse生成spring boot jar包

    1.右击项目,选择Run As - Maven clean 2.右击项目,选择Run As - Maven install 3.成功后 会在项目的target文件夹下生成jar包 4.将打包好的jar ...

  6. 使用maven生成可执行jar包(包含依赖)

    零零散散找了一些文章,有些感觉好乱,自己整理一下 以下是pom.xml里的配置,本来有很多依赖包,为了不让配置看着很长,我删了一些dependencies中我自己项目中引入的jar包 <proj ...

  7. eclipse导出可执行jar包步骤

    按步骤图文说明 第一步:选择要导出的工程,右键[export] 第二步:双击Java文件夹下的[Runnable Jar File] 第三步:该步骤分4步走 3.1 从下拉框选择该jar的入口文件,即 ...

  8. Eclipse打包可执行jar包操作步骤

    1.右键点击工程,选择Export…,进入页面 2.弹出对话框,选择Java->Runnable JAR file ,点击Next>,页面显示jar包的输出路径,配置为jmeter的/li ...

  9. java 生成可执行jar包

    jar -cvfm my.jar [配置主函数入口文件] [包] Main-Class: 包名.类名   注意“:”后边有一个空格,类名后边要有回车换行

随机推荐

  1. Java的多线程机制

    1.利用Thread的子类创建线程 例1.用Thread子类创建多线程程序. 先定义一个Thread的子类,该类的run方法只用来输出一些信息. package thread; public clas ...

  2. Navicat Premium 12全系列

    Navicat 是香港卓软数码科技有限公司生产的一系列 MySQL.MariaDB.Oracle.SQLite.PostgreSQL 及 Microsoft SQL Server 的图形化数据库管理及 ...

  3. CentOS6.5升级autoconf版本 Autoconf version 2.64 or higher is required

    安装软件时提示说需要Autoconf 2.64或更高的版本 [root@BobServerStation twemproxy]# autoconf configure.ac:8: error: Aut ...

  4. 【软引用】弱引用 图片的加载与缓存 OOM

    在java.lang.ref包中提供了几个类:SoftReference类.WeakReference类和PhantomReference类,它们分别代表软引用.弱引用和虚引用. ReferenceQ ...

  5. Linux 学习 step by step (1)

    做为一个技术小菜的android的程序员,做应用层的app觉得没有什么意思,于是像多学点android底层的知识.最近在看<Android 技术内幕(系统卷)> . 我打开书的第一张,便花 ...

  6. 防止excel数字变成科学计数法

    在网上查了很多资料知道解决办法大概有两个:一是在身份证字段前加个英文单引号,二是设置Excel的格式为文本格式. 我试用过第一种确实可以显示,但是有个“'”号在那里感觉确实不是很好,虽然听说不影响,但 ...

  7. DigCSDN介绍首页

    recrefer=SE_D_DigCSDN">360手机助手下载地址 兴许平台会陆续登陆上线的,大家敬请期待 最后由于屏幕适配和分享链接的问题,导致最后的公布时间延误了好几天--- 今 ...

  8. shell常用调试方法

    检查语法 -n选项只做语法检查,而不执行脚本. sh -n script_name.sh 启动调试 sh -x script_name.s 进入调试模式后,Shell依次执行读入的语句,产生的输出中有 ...

  9. Discuz常见小问题-如何修改板块和分区

    1 论坛-版块管理,然后添加一个版块名称(我把版块名称跟前面的主导航对应起来,比如都是论坛首页,在论坛首页下面放了三个版块,最新产品信息,最新培训信息,最新专题讨论) 2 点击编辑按钮 3 如果我设置 ...

  10. 翻译记忆软件-塔多思TRADO经典教程_3

    一.创建思迪术语库 1."开始>程序"中打开程序的主界面 2.按窗口内的"术语库"图标,或者"术语库"菜单"维护一个术语库数 ...