Eclipse中将Java项目 打包为jar,并且引入第三方jar包 解决办法
在Eclipe中把java程序打包成Jar包

在Eclipse中把java程序打包成Jar方式一:若是自己的java project中引用了额外的jar包作为资源文件,那么需要自己去概念配置文件MANIFEST.MF,内容例如如下:Manifest-Version:1.0Main-Class: gobang.GobangGameClass-Path:lib\junit.jar lib\log4j-1.2.12.jar lib\mysql-connector-java-3.1.12-bin.jar注:Class-Path中的各个jar文件名称见是不是应该有距离符,那个本人没有验证,因为本人没有效到其他的jar 其中的Class-Path就指定了外来的jar包的位置。
请注意假设咱们的项目打包好以后为project.jar,那么依照上面Class-Path的概念,就应该在project.jar的“同层”目录下成立一个lib文件夹,并将相关的jar包放在里面。
不然会显现Exception in thread “main”ng.NoClassDefFoundError的错误。
下面介绍利用Eclipse制作jar包的进程:1.第一在Eclipse中打开项目,右键点击项目,选择“Export”;2.选择Java/JAR file,Next;3.select the resources to export 中能够选择你想要包括的项目文件夹,一些没必要要的文件夹就无需放进去了,免得增大空间。
在可勾选的文件夹下面有四个选项:(1).表示只导诞生成的.class文件和其他资源文件(2).表示导出选中项目的所有文件夹(3).表示导出的jar包中包括你的源代码,若是不想泄露代码,那么就不要选这项(4).把一些重构的信息文件也包括进去(注:这项不是很清楚!!!)然后在Select the export destination 当选择导出的jar的途径,Next4.上面这一页选择是不是导出那些带有警告warning或错误errors的.class文件,一样就默许,Next5.下一步能够对项目做一些配置(1)Genetate the manifest file 是系统帮咱们自动生成MANIFEST.MF文件,若是你的项目没有引用其他的class-path,那能够选择这一项。
如何实现在Eclipse及MyEclipse开发工具中对应用系统打包为JAR格式文件

如何实现在Eclipse及MyEclipse开发工具中对应用系统打包为JAR格式文件
1.1.1将应用系统中的各个*.class文件打包为普通的*.jar文件
1、切换到包透视图中
2、选择“Jar文件”项目
3、点击下一步按钮,并输入jar的文件名称和对应的选择项目
4、继续点击下一步按钮
6、点击完成按钮后,将在磁盘中产生出*.jar文件
7、将该*.jar文件引入到Web项目中
1.1.2打包为可以直接执行的Jar程序文件
1、切换到“导航器视图”、并选中项目的根目录
2、选择“导出”菜单
3、在导出对话框中选择“Runnable JAR File”项目,并点击“Next”按钮
4、在下一个对话框中输入“启动main()方法所在的类”(本例为TrainnerLoginSystemWindow.java类)
同时指定导出的JAR文件所在的目录和文件名称(本例为ElfiiClient.jar)
5、点击“Finish”按钮,将开始进行导出和制作JAR文件的过程,最终创建出目标JAR 文件
6、为JAR文件创建一个*.bat文件(本例为ElfiiClient.bat)
java -jar ElfiiClient.jar
7、在Window系统中直接点击ElfiiClient.bat文件将可以直接执行该Jar文件所包含的程序。
java打jar包,引用其他.jar文件

java打jar包,引⽤其他.jar⽂件⼤家都知道⼀个java应⽤项⽬可以打包成⼀个jar,当然你必须指定⼀个拥有main函数的main class作为你这个jar包的程序⼊⼝。
具体的⽅法是修改jar包内⽬录META-INF下的MANIFEST.MF⽂件。
⽐如有个叫做test.jar的jar包,⾥⾯有⼀个拥有main函数的main class:test.someClassName我们就只要在MANIFEST.MF⾥⾯添加如下⼀句话:Main-Class: test.someClassName然后我们可以在控制台⾥输⼊java -jar test.jar即可以运⾏这个jar。
但是我们这个项⽬需要引⽤其他第三⽅的jar包,在eclipse⾥⾯以项⽬jar包的形式引⽤了这个叫做some.jar的包,当时放在项⽬的lib⼦⽬录下,最后项⽬打包时把这个some.jar也打进来了,但是⽤java -jar执⾏这个test.jar的时候报找不到Class异常,原因就是jar引⽤不到放在⾃⼰内部的jar包。
那怎么办?运⾏时将其加⼊classpath的⽅式⾏不⾏?就是在运⾏jar的同时加⼊classpath参数:java -classpath some.jar -jar test.jar这种⽅式应该能解决问题吧,试⼀下,还是不⾏。
查了下资料,原来使⽤java -jar 命令运⾏jar包时classpath参数将会失效,所以,这种⽅式也不⾏。
那该怎么引⽤其他的jar包呢,答案还是在这个⽬录META-INF下的MANIFEST.MF⽂件中。
jar包引⽤其他jar包的信息必须在这个⽂件中声明。
我们在MANIFEST.MF中添加如下代码:Class-Path: lib/some.jarlib是和test.jar同⽬录的⼀个⼦⽬录,test.jar要引⽤的some.jar包就在这⾥⾯。
然后测试运⾏,⼀切正常!如果有多个jar包需要引⽤的情况:Class-Path: lib/some.jar lib/some2.jar每个单独的jar⽤空格隔开就可以了。
ECLIPSE将引用了第三方JAR包的JAVA项目打包成JAR文件的两种方法

ECLIPSE将引用了第三方JAR包的JAVA项目打包成JAR文件的两种方法在Eclipse中,我们可以使用两种方法将引用了第三方JAR包的Java项目打包成JAR文件。
下面将详细介绍这两种方法。
方法一:使用Eclipse自带的导出功能1. 在Eclipse中,右键单击项目,选择"Export"。
2. 在弹出的对话框中,选择"Java"下的"JAR file",然后点击"Next"。
3. 在"JAR File Specification"页面上,选择要导出的项目以及要导出的资源;在"Export destination"中,指定导出的JAR文件的保存路径和文件名。
4. 在"JAR Packaging Options"页面上,选择"Export generated class files and resources",确保要导出的类文件和资源都被包含在JAR文件中。
5. 在"Select the export destination"页面上,选择"Package required libraries into generated JAR",这将会将所需的第三方JAR包也包含在生成的JAR文件中。
6. 点击"Finish"完成导出。
这种方法的优点是简单快捷,只需要几个简单的步骤就可以完成打包。
但是缺点是生成的JAR文件会将第三方JAR包也放在同一个目录下,可能导致文件夹混乱。
方法二:使用Apache Maven插件打包1. 首先,确保你的项目中存在pom.xml文件,它描述了项目的依赖关系和构建配置。
2. 打开Eclipse的"Terminal"窗口,或者使用其他的命令行工具。
Eclipse中指定第三方包JAR和类路径CLASSPATH的几个方法

在Java类中,我们可以通过“import +包名+类名”的方式引用第三方包(jar)或者第三方类(class),但你得告诉Java编译和运行环境到哪里去找这些库或者类,如果这些没有设置好,就会出现类似于某某类无法解析,NoClassDefFoundError等问题。
因此,我们必须通过Eclipse指定这些路径来告诉Jvava的开发和运行环境,到哪里去找这些包和类。
1,通过环境变量指定JAR包Window->Preferences->Java->Build path->Classpath variables,用一个变量指定包的位置,类似于环境变量中设置CLASSPATH。
由两个部分组成,一个是name,指定变量名;一个是file path,指定jar包所在位置,或者是folder,指定类文件所在文件夹。
这样的好处是如果包的位置发生了变化,我们只需要回到这个地方修改jar 包和类的位置,而项目中对于这些包和类的引用不需要修改。
2,通过建立用户库同时指定多个JAR包Window->Preferences->Java->Build path->User libraries,创建一个用户库,可以向其中添加多个jar,因为可能有多个项目,而每个项目又可能同时引用多个同样的包(jar),把这些包放在同一个user libraries下,就可以让每个项目只引用这一个库就OK了,省去每次需要为每个项目添加多个包的麻烦。
3,指定项目开发中使用的jar(出现在package explorer的Referenced libraries中):project->properties->java build path->libraries出现几种添加jar包的方式,这里分别解释一下a,Add JARs...添加项目内的jar包到项目的引用路径中。
有时候,我们会把一些第三方包放到我们的项目的文件夹中(比如a.jar),一般我们会给这个文件夹取名lib。
详解eclipse将项目打包成jar文件的两种方法及问题解决方法

详解eclipse将项⽬打包成jar⽂件的两种⽅法及问题解决⽅法第⼀种:利⽤eclipse中⾃带的export功能第⼀种⽅法分两种情况先来看第⼀种情况:没有引⽤外部jar的项⽬打包步骤⼀:右键点击项⽬选择导出(export),选择java>jar⽂件(不是选择可运⾏jar⽂件)步骤⼆:选择你要导出的项⽬以及⽂件,指定⽂件导出路径。
连续点击两个下⼀步后到第四步。
步骤三:选择主类。
按照以上步骤即可完成对⼀个不引⽤外部jar项⽬的打包。
第⼆种情况:没有引⽤外部jar的项⽬打包当我们引⽤了外部jar后,使⽤eclipse⾃带的export打包略显繁琐。
步骤⼀:准备主清单⽂件 “ MAINFEST.MF ”,放在项⽬的⽂件夹下⾯。
MAINFEST.MF是jar的配置⽂件,第⼀⾏定义版本,第⼆⾏指出外部jar的路径,第三⾏是主类指⽰,第四⾏是空⾏。
Manifest-Version: 1.0Class-Path: lib/RXTXcomm.jarMain-Class: com.main.Client值得注意的是,MAINFEST.MF编写需要严格规范,稍有不慎将会导致jar执⾏⽆效1 第⼀⾏不能空,⾏与⾏之间不能有空⾏,每⼀⾏的最后⼀个字符不能是空格2 最后⼀⾏⼀定是空⾏3 每个属性的名称和值之间(冒号后⾯)⼀定要有空格4 ⽂件的每⼀⾏都不能超过72个字节(⼀般是70个ASCII字母加上回车换⾏符);如果72个字节不够⽤,则另起⼀⾏并以空格开头:以空格开头的⾏都被视为前⼀⾏的续⾏。
详细规则这篇⽂章有讲到步骤⼆:与没有外部jar的项⽬⼀样,像上⾯那样先执⾏到步骤三,不同的是要选着现有的清单,然后点击完成。
以上就是第⼀种⽅法的两种情况,⾄此,我们已经可以⽣成jar包了。
(如何运⾏jar⽂件?点击这⾥)第⼀种:利⽤eclipse插件Fat jar打包jar步骤⼀:先给eclipse安装好Fat jar插件待⽂件加载出来后点击全部选中,⼀直下⼀步知道完成,会提⽰重启,安装完成。
java-jar命令运行jar包时指定外部依赖jar包

java-jar命令运⾏jar包时指定外部依赖jar包你们都知道⼀个java应⽤项⽬能够打包成⼀个jar,固然你必须指定⼀个拥有main函数的main class做为你这个jar包的程序⼊⼝。
具体的⽅法是修改jar包内⽬录META-INF下的MANIFEST.MF⽂件。
好⽐有个叫作test.jar的jar包,⾥⾯有⼀个拥有main函数的main class:test.someClassName。
咱们就只要在MANIFEST.MF⾥⾯添加以下⼀句话:htmlMain-Class: test.someClassName⽽后咱们能够在控制台⾥输⼊java -jar test.jar便可以运⾏这个jar。
可是咱们这个项⽬须要引⽤其余第三⽅的jar包,在eclipse⾥⾯以项⽬jar包的形式引⽤了这个叫作some.jar的包,当时放在项⽬的lib⼦⽬录下,最后项⽬打包时把这个some.jar也打进来了,可是⽤java -jar执⾏这个test.jar的时候报找不到Class异常,缘由就是jar引⽤不到放在本⾝内部的jar包。
那怎么办?运⾏时将其加⼊classpath的⽅式⾏不⾏?就是在运⾏jar的同时加⼊classpath参数:javajava -classpath some.jar -jar test.jar这种⽅式是不⾏的,由于使⽤classpath指定的jar是由AppClassloader来加载,java命令加了-jar 参数之后,AppClassloader就只关注test.jar范围内的class了,classpath参数失效。
那该怎么引⽤其余的jar包呢?linux⽅法1、使⽤Bootstrap Classloader来加载这些类算法咱们能够在运⾏时使⽤以下参数:sql-Xbootclasspath:彻底取代系统Java classpath.最好不⽤。
-Xbootclasspath/a: 在系统class加载后加载。
java程序打包成jar文件

Eclipse 下Java程序打包成jar文件1、在Eclipse的资源管理器中,选中要打包的项目,单击右键,选择“Export”,弹出如图1所示的对话框。
图1 选择导出java文件2、在Java目录下选择“JAR file”,点击“Next”,见图2。
图2 选择导出JAR file3、在“Select the resource 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”。
图3 JAR File Specification4.选择是否导出那些含有警告warning或者错误errors的*.class文件。
图4 JAR Packaging Option5、项目配置。
∙Generate the manifest file:系统自动生成MANIFEST.MF文件。
∙Use existing mainfest from workspace:选择我们自定义的.MF文件。
∙Seal content:要封装整个jar或者指定的packet。
∙Main class:选择程序入口,将来打包出来的jar就是这个入口类的执行结果。
最后点击“Finish”,完成打包。
图5 Manifest文件的配置。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
如果自己的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.j ar lib\mysql-connector-java-3.1.13-bin.jar
Main-Class: src.YourMainClassName
其中的Class-Path就指定了外来jar包的位置。
请注意假设我们的项目打包后为pr oject.jar,那么按照上面的定义,应该在 project.jar的同层目录下建立一个lib 文件夹,并将相关的jar包放在里面。
否则将会出现Exception in thread "main" ng.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 表示只导出生成的.clas s文件和其他资源文件
* 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。
这是可以选择我们自定义的.M F文件,格式如上所写。
* Seal content。
要封装整个jar或者指定的包packet
* Main class。
这里可以选择你的程序入口,将来打包出来的jar就是你这个入口类的执行结果。
最后Finish 完成。