使用eclipse打jar包可能还有很多人不是很了解,今天特意测试整理一番。

打jar包有3种形式

JAR file               JAR

Javadoc              java文档

Runnable JAR file      可运行JAR文件

第一种生成可执行的jar:

用eclipse 的 export runable jar file  (这个选项应该是后期eclipse版本才有的吧,发现网上好多介绍eclipse打jar包的文章中给出的图片都没有这个选项)

在Launch configuration:选择要打jar包的mian所在的类名,启动配置,main函数的入口类

Export destination 意思是将生成的jar包放在哪,选择一个路径

Library handing (库的管理)

第一个  提取需要的类库(以解压的形式)放到生成的 jar 文件中

用这个打出来的jar包,大小是三个选项中居中的一个

第二个   将需要的Jar库包放到生成的 jar 文件中,也就是将第三方的jar文件存放在你新生成的jar文件中,所以这个选项生成出来的文件是最小的(但往往会出现问题,可能是些路径问题吧!在下面会贴出各自的MANIFEST.MF)

第三种  将需要的库拷贝到一个子文件夹并放在生成的 jar 文件旁边(这个往往生成的总大小最大,但好像也最稳定可行)

Extract required libraries into generated JAR 抽出依赖库到生成的JAR

Package required libraries into generated JAR 打包依赖库到生成的JAR

Copy required libraries into s sub-folder next to the generated JAR 拷贝依赖库到产生JAR的子文件

第一个及第三个MANIFEST.MF

都是如下形式

而第二个确实这样的

越复杂,往往问题也就越多, 我个人喜欢第三种!

第二种生成一般的jar

执行 Export  ------->JAR file

这里有几个选项:
    * Export generated class files and resources 表示只导出生成的.class文件和其他资源文件
    * Export all output folders for checked projects 表示导出选中项目的所有文件夹
    * Export java source file and resouces 表示导出的jar包中将包含你的源代码*.java,如果你不想泄漏源代码,那么就不要选这项了
    * Export refactorings for checked projects 把一些重构的信息文件也包含进去
在Select the export destination中选择导出的jar的路径:

Options:的操作

Compress the contents of the JAR file  压缩精简 jar文件的内容

Add  directory entries   增加目录条目(很少人知道这个选项有什么用,其实他真的很有用!

在spring中有个这样的标签 <context:component-scan  />,它可以用来自动扫描包, 但是如果在你打的jar包里要不勾选Add  directory entries,那么你这个jar包,就不能spring的jar包那样 可以被扫描到)

Overwrite existing files without warning  没有警告的情况下覆盖现有的文件

Options:的操作我喜欢都勾选

点击NEXT

本页面 就是说,编译时的一些 错误警告 是否导出,

jar文件的一些描述信息是否放在工作空间中,这要看你自己的需要

如果你生成的jar 文件不是用来运行的,那么直接finish就OK 了,如果继续NEXT

这个页面 其实是用来配置一些MANIFEST.MF的信息,主要目的是生成可运行的jar,(因为以前的eclipse版本是没有export runable jar file  )

其实这个页面就类似手动配置MANIFEST.MF而export runable jar file 是自动生成一个MANIFEST.MF

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/a284826009/article/details/20862749

eclipse生成export生成jar详解的更多相关文章

  1. Java WebService接口生成和调用 图文详解>【转】【待调整】

    webservice简介: Web Service技术, 能使得运行在不同机器上的不同应用无须借助附加的.专门的第三方软件或硬件, 就可相互交换数据或集成.依据Web Service规范实施的应用之间 ...

  2. Protobuf 文件生成工具 Prototool 命令详解

    Protobuf 文件生成工具 Prototool 命令详解 简介 Prototool 是 Protobuf 文件的生成工具, 目前支持go, php, java, c#, object c 五种语言 ...

  3. eclipse里面构建maven项目详解(转载)

    本文来源于:http://my.oschina.net/u/1540325/blog/548530 eclipse里面构建maven项目详解 1       环境安装及分配 Maven是基于项目对象模 ...

  4. 转:关于将Java编译过的.class文件打成jar可执行文件/JAR详解

    原文链接:关于将Java编译过的.class文件打成jar可执行文件/JAR详解 如何把 java 程序编译成 .exe 文件.通常回答只有两种,一种是制作一个可执行的 JAR 文件包,然后就可以像. ...

  5. eclipse中export 的jar file与 runnable jar file的区别

    (1)直接运行 .class的方法     java  -cp .  com.guangfa.demo1  , 不用加.class后缀 .-cp 是 -classpath 缩写,是指定类运行所依赖其他 ...

  6. 【转】Eclipse Java注释模板设置详解

    Eclipse Java注释模板设置详解   设置注释模板的入口: Window->Preference->Java->Code Style->Code Template 然后 ...

  7. ES6 模块化(Module)export和import详解 export default

    ES6 模块化(Module)export和import详解 - CSDN博客 https://blog.csdn.net/pcaxb/article/details/53670097 微信小程序笔记 ...

  8. POI以SAX方式解析Excel2007大文件(包含空单元格的处理) Java生成CSV文件实例详解

    http://blog.csdn.net/l081307114/article/details/46009015 http://www.cnblogs.com/dreammyle/p/5458280. ...

  9. Java生成CSV文件实例详解

    本文实例主要讲述了Java生成CSV文件的方法,具体实现步骤如下: 1.新建CSVUtils.java文件: package com.saicfc.pmpf.internal.manage.utils ...

随机推荐

  1. OpenMP 线程互斥锁

    OpenMP是跨平台的多核多线程编程的一套指导性的编译处理方案(Compiler Directive),指导编译器将代码编译为多线程程序. 多线程编程中肯定会涉及到线程之间的资源共享问题,就可以使用互 ...

  2. 解决Vue用Nginx做web服务器报错favicon.ico 404 (Not Found)的问题

    有多种解决方案 1.vue静态资源 vue中为网页增加favicon的最便捷的方式为使用link标签 <link rel="shortcut icon" type=" ...

  3. C++标准库 bitset

    本文地址:http://www.cnblogs.com/archimedes/p/cpp-bitset.html,转载请注明源地址. 有些程序要处理二进制位的有序集,每个位可能包含 0(关)1(开)值 ...

  4. JS-HTML DOM remove() 方法

    定义和用法 remove() 方法用于从下拉列表删除选项. 语法 selectObject.remove(index) 说明该方法从选项数组的指定位置移除 <option> 元素.如果指定 ...

  5. Hibernate_8_Person和IdCard实例_一对一关系:基于外键

    1)建立Person类: public class Person { private Integer id; private String name; private IdCard IdCard; p ...

  6. 流操作结束后,一定要调用close(). java有垃圾回收器, 这样做是多此一举吗?

    流不单在内存中分配了空间,也在操作系统占有了资源, java的gc是能从内存中回收不使用的对象, 但对操作系统分配的资源是无能为力的, 所以就要调用close()方法来通知OS来释放这个资源.

  7. synchronized探究

    synchronized的加锁方式 synchronized的本质是给对象上锁,对象包括实例对象,也包括类对象.常见的加锁方式有下面几种写法:(1)在非static方法上加synchronized,例 ...

  8. 利用JqGrid结合ashx及EF分页显示列表之二

    上一篇文章简单利用JqGrid及ashx进行一个数据列表的显示,要文的重点是利用EF的分页与JqGrid进行结合,EF本文只是简单运用所以没有很规范,重点还是JqGrid分页的实现;本实例把JqGri ...

  9. Python set特点

    set的特点 set的内部结构和dict很像,唯一区别是不存储value,因此,判断一个元素是否在set中速度很快. set存储的元素和dict的key类似,必须是不变对象,因此,任何可变对象是不能放 ...

  10. js经常使用功能代码

    js经常使用功能代码(持续更新): 1---折叠与展开 <input id="btnDisplay" type="button" class=" ...