第一种:利用eclipse中自带的export功能

第一种方法分两种情况先来看第一种情况:没有引用外部jar的项目打包

步骤一:右键点击项目选择导出(export),选择java>jar文件(不是选择可运行jar文件)

步骤二:选择你要导出的项目以及文件,指定文件导出路径。连续点击两个下一步后到第四步。

步骤三:选择主类。

按照以上步骤即可完成对一个不引用外部jar项目的打包。

第二种情况:引用了外部jar的项目打包

当我们引用了外部jar后,使用eclipse自带的export打包略显繁琐。

步骤一:准备主清单文件 “ MAINFEST.MF ”,放在项目的文件夹下面。

MAINFEST.MF是jar的配置文件,第一行定义版本,第二行指出外部jar的路径,第三行是主类指示,第四行是空行。

 Manifest-Version: 1.0
Class-Path: lib/RXTXcomm.jar
Main-Class: com.main.Client
4

值得注意的是,MAINFEST.MF编写需要严格规范,稍有不慎将会导致jar执行无效

 第一行不能空,行与行之间不能有空行,每一行的最后一个字符不能是空格
最后一行一定是空行
每个属性的名称和值之间(冒号后面)一定要有空格
文件的每一行都不能超过72个字节(一般是70个ASCII字母加上回车换行符);如果72个字节不够用,则另起一行并以空格开头:以空格开头的行都被视为前一行的续行。

详细规则这篇文章有讲到 MANIFEST.MF文件编写的注意事项

步骤二:与没有外部jar的项目一样,像上面那样先执行到步骤三,不同的是要选着现有的清单,然后点击完成。

以上就是第一种方法的两种情况,至此,我们已经可以生成jar包了。(如何运行jar文件?点击 这里

 第二种:利用eclipse插件Fat jar打包jar

 步骤一:先给eclipse安装好Fat jar插件

Fat jar 更新站点:  http://kurucz-grafika.de/fatjar

待文件加载出来后点击全部选中,一直下一步知道完成,会提示重启,安装完成。(Fat jar安装报错?点击 这里

步骤二:右键点击项目名称,会看到build fat jar,点击

步骤三:配置jar的存放位置以及main类。

红框内为必填,main-class点击browse选择主类。(无法点击browse?点击 此处 查看解决方法)

步骤四:选择要打包的文件以及外部jar,点击完成。

至此,我们完成了用fat jar插件打包含有外部jar的项目工程。

 中途可能遇到的问题以及解决方法

问题一:打包好jar 文件后如何运行?

解决方法:

第一种方法:cmd下直接键入Java -jar xxx.jar  开始运行。(可能需要切换盘符与文件夹,方法点 这里

(如图是放在C盘用户>chen下面的jar)

第二种方法:新建一个批处理文件,内容:Java -jar xxx.jar。放在与jar包同一个文件夹下面即可,然后双击运行查看效果。

问题二:安装Fat jar提示出错怎么办?

解决方法:

在eclipse中

Help -> Install New Software... -> Work with

-> 选择“The Eclipse Project Updates - http://download.eclipse.org/eclipse/updates/4.7”

-> 勾选"Eclipse Tests,tools, Examples, and Extras" 下的 "Eclipse 2.0 Style Plugin Support"

安装完后再安装Fat jar即可

问题三:为什么我的main-class无法browse文件?(猜测可能有eclipse与Fat jar的版本兼容问题)

解决方法:

先用eclipse自带的export查看main-class名字(export方法如 上面),再复制粘贴填下去继续步骤。

一般main-class为 包名.主类名 ,可能不带Java、main等后缀

注:文中所用到的软件及版本如下

eclips oxygen with官译插件

jdk 9

Fat jar插件

eclipse中将项目打包成jar的两种方法,及其问题与解决方法的更多相关文章

  1. eclipse将项目打包成jar在linux中运行

    最近因为项目需要,做了几个外挂程序做数据传输,涉及到项目打包操作,在此记录一下打包步骤和其中出现的问题. 1.首先右键项目文件夹,点击export,弹出如下选择框,在其中输入jar搜索,并选择JAR ...

  2. Springboot项目打包成jar运行2种方式

    最近公司有个项目需要移植到SpringBoot框架上,项目里面又有许多第三方jar包,在linux服务器上最方便的就是用jar的方式来运行SpringBoot项目了,因此我研究了2种打jar包的方式, ...

  3. Eclipse中将含有图片资源的项目打包成jar文件

    前言: 最近学了GUI编程和UDP协议,心血来潮想做一个局域网内的聊天软件,前期都还算顺利,直到后来将整个项目打包成jar文件时遇到了困难.如图: 自己设置的图标不见了,但是也没有默认的图标,说明图片 ...

  4. (3)Maven快速入门_3在Eclipse中创建Maven项目打包成jar

    Eclipse中创建Maven项目 new ---> maven project  ----> next 如下 普通java项目 选择  如下 quickstart 创建项目 : 输入 G ...

  5. AndroidStudio项目打包成jar

    AndroidStudio项目打包成jar 前言:在eclipse中我们知道如何将一个项目导出为jar包,现在普遍AndroidStuido开发,这里一步一步详加介绍AS项目打包成jar,jar和ar ...

  6. AS 3.1 项目打包成jar或aar

    1.首先明白一个道理. Android Studio编译的时候会自动将项目生成jar和aar的,我一开始以为jar需要自己单独生成,其实AS已经自动生成了,网上找的很多资料都是一个复制的过程而已. 只 ...

  7. 将项目打包成jar,如何又将jar还原成项目

    一.将项目打包成jar 第一步: 选择项目,鼠标右键,选择export ,出现如下 接下来就是点击Next,Next,最后点击Finish 后 会生成jar 二.将jar还原成项目 第一步 用反编译工 ...

  8. SpringBoot项目打包成jar后,启动脚本

    将springboot项目打包成jar后,上传至服务器,每次都需要手敲命令,重新部署项目,可将这些命令写入脚本中,直接运行. 启动脚本(start.sh): CUR_PATH=$(cd "$ ...

  9. 用gradle把springboot项目打包成jar

    ``` 用gradle把springboot项目打包成jar ```### build.gradle 中添加 buildscript { repositories { mavenLocal() mav ...

随机推荐

  1. 【经验分享(续篇)】Trachtenberg system(特拉亨伯格速算系统)

    之前有篇文章简单地介绍了Trachtenberg系统的乘法计算方法,地址在这里.针对一些特定的数字,Trachtenberg还发展出了更快的计算方法. 先来介绍乘数为11的速算方法.它的计算规则我们可 ...

  2. Android 开发笔记___基本适配器的使用__BaseAdapter

    之前用到过ArryAdapter适用于纯文本的列表数据,SimpleAdapter适用于带图标的列表数据,但在实际应用中常常有更复杂的列表,比如同一项中存在多个控件,这时候用前面的两个会比较复杂,而且 ...

  3. HTML 3秒一换轮播(鼠标选中旋转停止定时) 动画案例

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  4. POI不同版本替换Word模板时的问题

    一.问题描述 通过POI,把Word中的占位符替换为实际的值,以生成复杂结构的业务报告. 在POI 3.9上,功能正常.由于某些原因升级到POI 3.10.1后,项目组反馈说Word模板出错,无法生成 ...

  5. 《Google SRE》读后感

    注:这是去年国庆时的一篇读书笔记,最近线上故障频繁,重新读了下这篇读书笔记,觉得<Google SRE>非常棒,遂从简书再搬家到博客园,希望大家受益.我的简书地址:daoqidelv 国庆 ...

  6. centos7.2构建Python3.5开发环境

    1.本次使用的是一台全新的腾讯云主机,首先获取linux系统版本信息. [root@VM_46_121_centos ~]# cat /etc/redhat-release <本系统默认自带py ...

  7. 修改 Sublime 按快捷键 ctrl+s 自动格式化(reindent lines)的问题

    Sublime 工具自带代码格式化的功能,但在某些场景下格式化代码后并不是我们想要的代码格式,且是点击保存ctrl+s才触发的格式代码事件,so,为关闭点击ctrl+s格式代码,我们需要改命令 sav ...

  8. java继承系列之添加一个LinkLable类

    import java.awt.*; import javax.swing.*; import javax.swing.JFrame; import java.awt.event.WindowList ...

  9. springboot整合shiro

    请大家在看本文之前,先了解如下知识点: 1.Shiro 是什么?怎么用? 2.Cas 是什么?怎么用? 3.最好有Spring基础 可以先看看这两篇文章,按照这2篇文章的内容做一遍: Spring B ...

  10. CTF 文件包含与伪协议

    正巧在写代码审计的文章,无意间看到了一篇CTF的代码审计,CTF题目很好,用的姿势正如标题,文件包含和伪协议. 先放出原文链接(http://www.freebuf.com/column/150028 ...