eclipse生成export生成jar详解
使用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详解的更多相关文章
- Java WebService接口生成和调用 图文详解>【转】【待调整】
webservice简介: Web Service技术, 能使得运行在不同机器上的不同应用无须借助附加的.专门的第三方软件或硬件, 就可相互交换数据或集成.依据Web Service规范实施的应用之间 ...
- Protobuf 文件生成工具 Prototool 命令详解
Protobuf 文件生成工具 Prototool 命令详解 简介 Prototool 是 Protobuf 文件的生成工具, 目前支持go, php, java, c#, object c 五种语言 ...
- eclipse里面构建maven项目详解(转载)
本文来源于:http://my.oschina.net/u/1540325/blog/548530 eclipse里面构建maven项目详解 1 环境安装及分配 Maven是基于项目对象模 ...
- 转:关于将Java编译过的.class文件打成jar可执行文件/JAR详解
原文链接:关于将Java编译过的.class文件打成jar可执行文件/JAR详解 如何把 java 程序编译成 .exe 文件.通常回答只有两种,一种是制作一个可执行的 JAR 文件包,然后就可以像. ...
- eclipse中export 的jar file与 runnable jar file的区别
(1)直接运行 .class的方法 java -cp . com.guangfa.demo1 , 不用加.class后缀 .-cp 是 -classpath 缩写,是指定类运行所依赖其他 ...
- 【转】Eclipse Java注释模板设置详解
Eclipse Java注释模板设置详解 设置注释模板的入口: Window->Preference->Java->Code Style->Code Template 然后 ...
- ES6 模块化(Module)export和import详解 export default
ES6 模块化(Module)export和import详解 - CSDN博客 https://blog.csdn.net/pcaxb/article/details/53670097 微信小程序笔记 ...
- POI以SAX方式解析Excel2007大文件(包含空单元格的处理) Java生成CSV文件实例详解
http://blog.csdn.net/l081307114/article/details/46009015 http://www.cnblogs.com/dreammyle/p/5458280. ...
- Java生成CSV文件实例详解
本文实例主要讲述了Java生成CSV文件的方法,具体实现步骤如下: 1.新建CSVUtils.java文件: package com.saicfc.pmpf.internal.manage.utils ...
随机推荐
- go语言基础之闭包捕获外部变量特点
1.闭包捕获外部变量特点 示例: package main //必须 import "fmt" func main() { a := 10 str := "mike&qu ...
- unity 的reflection probe和environmentmap
unity做了个很恶心的事情 unity_SpecCube0这里如果在reflectionprobe范围内就传reflectionprobe 如果在probe范围外这里就传environmap 在GI ...
- tomcat(5)servlet容器
[0]README 0.0)本文部分文字描写叙述转自:"深入剖析tomcat",旨在学习 tomcat(5)servlet容器 的基础知识. 0.1)intro to servle ...
- SQL语法 之 表连接
一.连接条件 连接查询中用来连接连个表的条件称为连接条件或连接谓词.其形式为: [<表1>].<列名1> <连接运算符> [<表2>].<列2&g ...
- taro 打包微信小程序运行失败(一)
1.报错信息 thirdScriptError sdk uncaught third Error Cannot read property 'createTextNode' of undefined ...
- js 函数节流throttle 函数去抖debounce
1.函数节流throttle 通俗解释: 假设你正在乘电梯上楼,当电梯门关闭之前发现有人也要乘电梯,礼貌起见,你会按下开门开关,然后等他进电梯: 但是,你是个没耐心的人,你最多只会等待电梯停留一分钟: ...
- Nginx 配置 SSL 证书 + 搭建 HTTPS 网站教程
一.HTTPS 是什么? 根据维基百科的解释: 超文本传输安全协议(缩写:HTTPS,英语:Hypertext Transfer Protocol Secure)是超文本传输协议和SSL/TLS的组合 ...
- Android源代码目录结构(转)
https://android.googlesource.com/ Android 2.2 |-- Makefile |-- bionic (bionic C库) |-- ...
- 【linux】FTP添加用户,设置权限和目录
一.目的,新建一个用户 test2,登录ftp,它只有自己的主目录权限,其他同级和上级目录没有权限 二.ftp安装.配置 yum -y install vsftpd //通过yum来安装vsftpd ...
- Linux中内存挂载到目录下
[日期:2012-11-14] /dev/shm是linux下的一块共享内存结构.默认大小是真实内存的一半.它用来存储进程间通讯时的一些共享数据结构.在物理内存足够时,会在内存中进行数据交换,如果 ...