java项目打包部署
网上打包的教程很多, 但是自己动手总归出现各种各样的问题,自己总结下:
由于刚刚接触JAVA,做了一个简单的java project 项目, 但是包含第三方的jar包, 结果打包的时候就出现问题了。
主要原因是一直报“Exception in thread "main" java.lang.NoClassDefFoundError“的错误, 我一开始以为打包的jar包中应该包含第三方的JAR包,结果死活报错,原来并不是这样,运行jar包时,会根据 MANIFEST.MF中的Class-Path 的路径去读取。
好了,说下打包流程
1. 先看下文档目录和最后打包的效果


可以看到,打包完后,第三方jar并不在程序包内。
2. 配置MANIFEST.MF文件,程序打包时会用到。
2.1 在项目下新健一个文件夹
2.1 在该文件夹下新健一个MANIFEST.MF文件, 配置对应的属性

3. 打包程序, 不包含第三方JAR包
3.1 点击 file > export
3.2 选择 jar file, 点击next
3.3 选择 项目打包文件,录入一个生产jar的路径(只需要项目文件, 不包含第三方jar以及MANIFEST.MF; 同时也不包含.classpath 和.project)

3.4 点击选择已经存在的装配单

3.5 一直到结束
4. 通过java -jar xxx.jar 来运行, 但是这里需要注意要关联第三方Jar包, 怎么关联, 会程序会通过 MANIFEST.MF中的Class-Path去寻找。所以最终要运行jar报的结构如下。

作为刚学JAVA的人会有点小折腾。
参考资料
http://www.open-open.com/lib/view/open1397303218919.html
http://www.cnblogs.com/lanxuezaipiao/p/3291641.html
http://bbs.csdn.net/topics/350163956
java项目打包部署的更多相关文章
- Java项目打包部署war文件
		
1.选中要打包的项目,右键单击,选择“Export-->WAR File”,在弹出的对话框中选择Destination.Server runtime等选项,点击Finish: 2.可以看到指定目 ...
 - Java学习之道:Java项目打包发布
		
Java项目打包发布 如果只想发布为一个可执行的jar包,使用eclipse的Export功能就可以了 使用eclipse的Export功能,将项目中的所有package打包为一个pet.jar文件, ...
 - Java项目打包发布
		
Java项目打包发布 如果只想发布为一个可执行的jar包,使用eclipse的Export功能就可以了 使用eclipse的Export功能,将项目中的所有package打包为一个pet.jar文件, ...
 - Java项目打包在CMD或者Linux下运行
		
Java项目打包在CMD或者Linux下运行 1.在CMD下运行 在eclipse中将项目export成jar包,然后用压缩软件解压
 - java项目打包成可运行的jar,main方法带参数
		
转载 原文地址:http://www.cnblogs.com/neillee/p/6063808.html#commentform 将 java 项目打包成可运行的 jar 包(main 函数带参数) ...
 - Spring Boot + Spring Cloud 实现权限管理系统 后端篇(十四):项目打包部署
		
项目打包部署 安装MySQL镜像 注意:如果使用docker镜像安装MySQL,也需要在前端部署主机安装MySQL,因为备份还原功能是使用MySQL的本地命令进行操作的. 下载镜像 执行以下命令,拉取 ...
 - Java项目打包成exe的详细教程
		
Java项目打包成exe的详细教程 把Java项目打包成exe共分为以下两步: 1. 利用Eclipse先把Java项目先打成jar包 2. 利用exe4j工具把jar包转成exe 这里以Java项目 ...
 - Maven将java项目打包生成可运行jar
		
Maven将java项目打包生成可运行jar Maven插件配置 <plugins> <plugin> <groupId>org.apache.maven.plug ...
 - 将Java项目打包成可以独立运行的Jar包
		
因为一直也没怎么用过Java的原因,所以以前本科上课的时候,在控制台下运行Java程序都是仅仅运行单个的没有第三方库依赖的情况下运行的 那种情况特别简单,只要输入Javac 文件名.java等到编译完 ...
 
随机推荐
- Mysql性能调优工具Explain结合语句讲解
			
Explain简称执行计划,可以模拟SQL语句,来分析查询语句或者表结构是否有性能瓶颈.Explain的作用有哪些,可以看到哪些?可以看到表的读取顺序,数据读取操作的操作类型,哪些索引可以使用,哪些索 ...
 - nodejs 8 利用原生 util.promisify() 实现 promise.delay()
			
Nodejs 8 在 util 包里新增了 promisify() .这个方法基本和 bluebird 的 promisify() 作用一样,即把最后一个参数是 callback 函数的函数变成返回 ...
 - String StringBuilder StringBuffer 对比 总结得非常好
			
转自:http://www.iteye.com/topic/522167 作者:每次上网冲杯Java时,都能看到关于String无休无止的争论.还是觉得有必要让这个讨厌又很可爱的String美眉,赤裸 ...
 - 框架-springmvc源码分析(一)
			
框架-springmvc源码分析(一) 参考: http://www.cnblogs.com/heavenyes/p/3905844.html#a1 https://www.cnblogs.com/B ...
 - linux 查看数据库和表
			
mysql -h localhost -u 用戶名 -p密碼 //連接數據庫use desk_show; ...
 - Hive安装-windows(转载)
			
1.安装hadoop 2.从maven中下载mysql-connector-java-5.1.26-bin.jar(或其他jar版本)放在hive目录下的lib文件夹 3.配置hive环境变量,HIV ...
 - hdu 5683 zxa and xor 暴力
			
zxa and xor Time Limit: 16000/8000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) Pro ...
 - python 判断是否是元音字母
			
def is_vowel(char): all_vowels = 'aeiou' return char in all_vowels print(is_vowel('c')) print(is_vow ...
 - Aho-Corasick算法
			
2018-03-15 10:25:02 在计算机科学中,Aho–Corasick算法是由Alfred V. Aho和Margaret J.Corasick 发明的字符串搜索算法,用于在输入的一串字符串 ...
 - lister.ora配置
			
SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (SID_NAME = PLSExtProc) (ORACLE_HOME = D:\ ...