Eclipse中Java项目打包——外部jar包位置 ,生成jar包位置,mf文件书写等问题
来源:互联网 发布:变形金刚倾天柱 乐乎 编辑:程序博客网 时间:2024/05/16 12:43
一、manifest.mf文件
1. ***************
有外部jar包时,需要manifest.mf文件来指明,manifest.mf文件可以放在任何的位置。
2. ***************
jar包生成后,manifest.mf文件可以删除。
====================================================================================
====================================================================================
二、生成的目标jar包与外部jar包的路径关系
在Eclipse中将Java项目打包为Jar,中讲到“假设我们的项目打包后为project.jar,那么按照上面的定义,应该在project.jar的同层目录下建立一个lib文件夹,并将相关的jar包放在里面。否则将会出现Exception in thread "main" java.lang.NoClassDefFoundError的错误。”.
本质意义即:以project.jar所在文件夹的绝对路径+外部jar包相对project.jar的相对路径=外部jar包的绝对路径;
====================================================================================
====================================================================================
三、具体的情况分析(manifest.mf书写)
******待打包的项目****************
设有项目JWN,项目目录:需要的三个外部jar包在lib里。
具体的几种情况:
1. ***************+*************************
若要将待打目标包放在当前项目的lib里,和外部jar包同层,那么manifest.mf的内容应为:
Manifest-Version: 1.0
Class-Path: commons-logging.jar junit-4.1.jar jwnl.jar
Main-Class: src.YourMainClassNam
最后生成的包文件:
2.
Manifest-Version: 1.0
Class-Path: lib\commons-logging.jar lib\junit-4.1.jar lib\jwnl.jar
Main-Class: src.YourMainClassNam
最后生成的包文件:
3. *************************************************
在Eclipse中将Java项目打包为Jar中生成的jar包是在项目外的,那么manifest.mf的内容应为:
Manifest-Version: 1.0
Class-Path: JWN\lib\commons-logging.jar JWN\lib\junit-4.1.jar JWN\lib\jwnl.jar
Main-Class: src.YourMainClassNam
******使用打好的项目包****************
=============================================================================
=============================================================================
测试jar包的项目jwnTest将生成的JWN.jar加载进来的目录如下:
1.因为加载进来的前3个jar包的位置是在JWN项目下lib中,第四个jar包位置也是在JWN项目中的,所以在运行的时候必须保证这4个jar包在原始位置仍然存在。
2.如果将jar包复制到别的地方,然后加载这个复制后位置上的jar包,,会出现错误:
Exception in thread "main" java.lang.Error: Unresolved compilation problems:
=============================================================================
=============================================================================
====================================================================================
====================================================================================
四、. 将jar包打在测试项目里*****************
一般项目会习惯把涉及的jar包放在自己的项目里,所以上述3种情况,测试项目使用的外部jar包还是在项目外,会不方便,所以可以在打包时就将jar包指定为测试项目下面。例如,
测试项目jwntest,lib里是引用的JWN.jar包所需的3个外部jar包。
目标jar包在lib里的情况:manifest.mf的内容应为:
Manifest-Version: 1.0
Class-Path: commons-logging.jar junit-4.1.jar jwnl.jar
Main-Class: src.YourMainClassName
**************************************************
目标jar包与lib同层情况:manifest.mf的内容应为:
Manifest-Version: 1.0
Class-Path: lib\commons-logging.jar lib\junit-4.1.jar lib\jwnl.jar
Main-Class: src.YourMainClassName
====================================================================================
====================================================================================
五、一定要注意最后要加载生成的jar包。
- Eclipse中Java项目打包——外部jar包位置 ,生成jar包位置,mf文件书写等问题
- Eclipse中Java项目打包——外部jar包位置 ,生成jar包位置,mf文件书写等问题
- eclipse中struts2 hibernate jar包位置
- eclipse java程序打包成jar 引用外部jar包
- java—(5)Eclipse将引用了第三方jar包的Java项目打包成jar文件
- jar扩展包位置
- jar包存放位置
- Eclipse中java生成jar包以及bat文件
- Eclipse将引用了第三方jar包的Java项目打包成jar文件
- Eclipse将引用了第三方Jar包的Java项目打包成Jar文件
- Eclipse中导入外部jar包——添加lib
- 用eclipse打包jar的时候有外部jar包
- eclipse生成【带有外部jar包】的java可执行jar包
- Android动态加载外部jar包及jar包中图片等资源文件
- Java项目生成jar包
- 将Gradle项目打包生成jar包
- 将eclipse java程序打包成jar的总结(包括工程中没有引用外部jar包和有引用外部jar包两种情况)
- 将eclipse java程序打包成jar的总结(包括工程中没有引用外部jar包和有引用外部jar包两种情况)
- 非常好的解释AngularJs中Factory和Service和Provide不同
- AJAX
- Androin学习笔记四十九:android文件管理器的源码实现
- 导航控制器(NavigationController)的生命周期
- Win7 无法访问局域网共享文件服务器 提示密码错误的解决办法
- Eclipse中Java项目打包——外部jar包位置 ,生成jar包位置,mf文件书写等问题
- linux 下opencv的安装
- QR二维码扫描
- C字符串函数strcmp\strcpy\strcat\memcpy
- Android中JNI的使用方法
- SQL 查询优化
- Chrome调试工具奇淫技
- hadoop SequenceFile
- xib自定义控件 在 6p上被放大的文头解决方案