Eclipse中将Java项目打包为jar,并且引入第三方jar包解决办法
来源:互联网 发布:如何更改网页授权域名 编辑:程序博客网 时间:2024/04/25 17:31
原文地址
如果自己的java project中需要引用额外的jar包作为资源文件,那么需要自定义配置文件MANIFEST.MF ,例如:
Manifest-Version: 1.0
Class-Path: lib\crimson.jar lib\jbcl.jar lib\junit.jar lib\log4j-1.2.13.jar lib\mysql-connector-java-3.1.13-bin.jar
Main-Class: src.YourMainClassName
其中的Class-Path就指定了外来jar包的位置。请注意假设我们的项目打包后为project.jar,那么按照上面的定义,应该在 project.jar的同层目录下建立一个lib文件夹,并将相关的jar包放在里面。否则将会出现Exception in thread “main” java.lang.NoClassDefFoundError的错误。
注意:如果在Class-Path 中引入比较多的jar包,不要写成一行,不然会报:java.io.IOException : line too long ,需要分多行写,第二行以及下面的第三行、第四行写的时候需要在前面空两格(敲两下空格键)即可
最后介绍一下使用Eclipse制作jar包的过程吧:
1. 首先在Eclipse中打开项目, 右键点击项目,选择“Export”;
2. 选择Java/JAR file,Next;
3. Select the resources to export中可以选择你想要包含的项目文件夹,一些不必要的文件夹就无需放进去了,免得增大空间;
这里有几个选项:
* 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的路径,Next
4. 下一页可以选择是否导出那些含有警告warning或者错误errors的*.class文件。一般不用理他,Next
5. 下一个页面里可以对项目做一些配置。
* Generate the manifest file是系统帮我们自动生成MANIFEST.MF文件,如果你的项目没有引用其他class-path,那可以选择这一项。
* Use existing mainfest from workspace。这是可以选择我们自定义的.MF文件,格式如上所写。
* Seal content。要封装整个jar或者指定的包packet
* Main class。这里可以选择你的程序入口,将来打包出来的jar就是你这个入口类的执行结果。
最后Finish 完成
另:如果用java命令执行jar包时报”没有主清单属性“的提示时
即jar包中的META-INF文件夹下的MANIFEST.MF文件缺少定义jar接口类。说白了就是没有指定class类。这里说明一下MANIFEST.MF就是一个清单文件,通俗点将就相当于WINDOWS中ini配置文件。用来配置程序的一些信息。因为打包的jar包没有这个属性(至少我这次没有),所以才造成这样的问题。
所以,解决办法很简单。就是在MANIFEST.MF添加入口。
首先找到你的jar文件。
之后双击打开jar文件,你的电脑需要安装有winrar。或者其他压缩工具7z等。
之后,在双击打开这个文件夹META-INF,再选择MANIFEST.MF文件,用记事本打开它。
现在看看文件中是否有Main-Class这样一行文字,如果没有的话那么添加一行。
Main-Class: TestMain这里的TestMain是你的xxx.java文件编译后的xxx.class文件稍微名称。但是不要加.class后缀。如果有的话,那么看下Main-Class: TestMain这后面的名称是否和你的class文件名称一致。不一致请改回来。
Main-Class: packageA.packageB.TestMain
注:这里Main-Class:要空一格写上你的class文件名。如果你没有空格的话,还是问题是解决不了的。
- Eclipse中将Java项目 打包为jar,并且引入第三方jar包 解决办法
- Eclipse中将Java项目打包为jar,并且引入第三方jar包解决办法
- Eclipse中将Java项目(引用了第三方包) 打包为jar
- Eclipse中将Java项目(引用了第三方包) 打包为jar
- MyEclipse/Eclipse 打包项目没引入第三方jar解决办法
- Eclipse中将Java项目打包为jar
- java项目导出jar包,引入第三方jar包
- java项目导出jar包,引入第三方jar…
- eclipse项目生成jar包并引入第三方包
- Eclipse将引用了第三方jar包的Java项目打包成jar文件
- Eclipse将引用了第三方jar包的Java项目打包成jar
- Eclipse将引用了第三方Jar包的Java项目打包成Jar文件
- eclipse中引入第三方jar包
- Eclipse中引入第三方Jar包的方法(java.lang.NoClassDefFoundError解决办法)
- maven将第三方jar包引进项目并且打包进jar包
- Eclipse(MyEclipse)导出jar包时引入第三方jar包 解决办法
- myeclipse8.5打包jar并引入第三方jar包
- 在Eclipse中将Java项目打包为jar
- oracle 中几种排序方法
- K最近邻(kNN,k-NearestNeighbor)
- (编程题)5-20 打印九九口诀表
- 解析 Android 事件传递机制
- # Unity 自学与进阶必会目录
- Eclipse中将Java项目打包为jar,并且引入第三方jar包解决办法
- Java豆瓣电影爬虫——减少与数据库交互实现批量插入
- C语言低级错误案例
- javaweb项目启动定时任务的实现
- 编译安装Ambari
- C#集成第三方控件devexpress 15.2安装说明
- java设计模式-访问者模式visit
- # 开发 VR 多人游戏的技术挑战
- RMAN创建恢复目录数据库