java项目打包部署

网上打包的教程不少, 可是本身动手总归出现各类各样的问题,本身总结下:html

因为刚刚接触JAVA,作了一个简单的java project 项目, 可是包含第三方的jar包, 结果打包的时候就出现问题了。 java

主要缘由是一直报“Exception in thread "main" java.lang.NoClassDefFoundError“的错误, 我一开始觉得打包的jar包中应该包含第三方的JAR包,结果死活报错,原来并非这样,运行jar包时,会根据 MANIFEST.MF中的Class-Path 的路径去读取。spa

好了,说下打包流程.net

1. 先看下文档目录和最后打包的效果htm

 

能够看到,打包完后,第三方jar并不在程序包内。blog

 

2. 配置MANIFEST.MF文件,程序打包时会用到。教程

  2.1 在项目下新健一个文件夹ip

  2.1 在该文件夹下新健一个MANIFEST.MF文件, 配置对应的属性文档

 

 

3. 打包程序, 不包含第三方JAR包io

  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