使用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. 9个实用的Javascript代码高亮脚本

    代码高亮很有用,特别是在需要在网站或者blog中显示自己编写的代码的时候,或者给其他人查看或调试语法错误的时候.我们可以将代码高亮,以便阅读者可以十分方便的读取代码块,增加用户阅读代码的良好体验. 目 ...

  2. ECharts学习总结(四):echarts的实例方法

    echarts的实例方法非常重要,因为在实际运用中我们额图表的数据不可能是死的,而是动态变化的,实例方法为动态改变数据提供了方法.故特意从官网上面把下面实例方法进行记录: 注:下面内容摘自echart ...

  3. 【前端】javascript判断undefined、null、NaN;字符串包含等

    JS中判断null.undefined与NaN的方法 这篇文章主要介绍了JS中判断null.undefined与NaN的方法,需要的朋友可以参考下 . . 写了个 str ="s" ...

  4. (转)AS3 中,Function.apply、call中第一个参数的作用;与什么时候用

    http://blog.csdn.net/linjf520/article/details/8746064 大家在使用Function.apply或是call时,是否发现,第一个参数不知道怎么用,赋值 ...

  5. 给DB2某表增加一个自增长列

    如果是MySQL表,那么任务就很简单,一句SQL可以搞定.而DB2表,就要费一点周折了. 首先,我们来看一眼目标表: 这个表,有字段有数据,我们需要做的是,给它加一个唯一性的ID列. 我们可以通过工具 ...

  6. setsockopt之 TCP_KEEPIDLE/TCP_KEEPINTVL/TCP_KEEPCNT

    setsockopt之 TCP_KEEPIDLE/TCP_KEEPINTVL/TCP_KEEPCNT /*检测网线非法断开*/    setsockopt(iSockFd, SOL_SOCKET, S ...

  7. ajax交互Struts2的action(1)

    1.客户端网页代码 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://w ...

  8. 数据库case,when学习

    前几天工作中遇到了一个数据库统计相关的东西,主要使用case,when实现.如今说说基本情况: 有两个表school,studens,当中 school表结构例如以下: students表结构例如以下 ...

  9. 学习使用Jmeter做压力測试(一)--压力測试基本概念

    一.性能測试的概念         性能測试是通过自己主动化的測试工具模拟多种正常峰值及异常负载条件来对系统的各项性能指标进行測试.负载測试和压力測试都属于性能測试,两者能够结合进行. 通过负载測试, ...

  10. MySQL中的锁、隔离等级和读场景

    一.导言 关于MySQL中的锁还有隔离等级这类话题,其概念性的解释早已泛滥.记住其概念,算不上什么.更重要的是思考:他们的区别和联系在哪儿,为什么会有这样的概念. 1)MySQL的锁(Lock)分为行 ...