Eclipse如何将Java项目打包成jar包?

Eclipse如何将Java项目打包成jar包?,第1张

如果自己的java project中需要引用额外的jar包作为资源文件,那么需要自定义配置文件MANIFEST.MF ,例如:\x0d\x0aManifest-Version: 1.0\x0d\x0aClass-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\x0d\x0aMain-Class: src.YourMainClassName\x0d\x0a其中的Class-Path就指定了外来jar包的位置。渗罩请注意假设我们的项目打包后为project.jar,那么按照上面的定义,应该在 project.jar的同层目录下建立一个lib文件夹,铅搜并将相关的jar包放在里面。否则将会出现Exception in thread "main" java.lang.NoClassDefFoundError的错误。\x0d\x0a如果想在所导出的jar包中包含第三方jar包,可以如下 *** 作:\x0d\x0a1.在工程目录下放入第三方jar包\x0d\x0a2.Class-Path: name.jar\x0d\x0a上诉两个步骤就可以成功导出引用了jar包的java工程,并将第三方jar包放在导出的工程中\x0d\x0a注意:如果在Class-Path 中引入比较多的jar包,不要写成一行,不然会报:java.io.IOException : line too long ,需要分多行写,第二行以及下面的第三行、第四行写的时候需要在前面空两格(敲两下空格键)即可\x0d\x0a最后介绍一下使用Eclipse制作jar包的过程吧:\x0d\x0a1. 首先在Eclipse中打开项目, 右键点击项目,选择“Export”;\x0d\x0a2. 选择Java/JAR file,Next;\x0d\x0a3. Select the resources to export中可以选择你想要包含的项目文件夹,一些不必要的文件夹就无需放进去了,免得增大空间;\x0d\x0a这里有几个选项:\x0d\x0a* Export generated class files and resources 表示只导出生成的.class文件和其他资源文件\x0d\x0a* Export all output folders for checked projects 表示导出选中项目的所有文件夹\x0d\x0a* Export java source file and resouces 表示导出的jar包中将包含你的源代码*.java,如果你不想泄漏源代码,那么就不要选这项了\x0d\x0a* Export refactorings for checked projects 把一些重构的信息文件也包含进去\x0d\x0a在Select the export destination中选择导出的jar的路槐喊历径,Next\x0d\x0a4. 下一页可以选择是否导出那些含有警告warning或者错误errors的*.class文件。一般不用理他,Next\x0d\x0a5. 下一个页面里可以对项目做一些配置。\x0d\x0a* Generate the manifest file是系统帮我们自动生成MANIFEST.MF文件,如果你的项目没有引用其他class-path,那可以选择这一项。\x0d\x0a* Use existing mainfest from workspace。这是可以选择我们自定义的.MF文件,格式如上所写。\x0d\x0a* Seal content。要封装整个jar或者指定的包packet\x0d\x0a* Main class。这里可以选择你的程序入口,将来打包出来的jar就是你这个入口类的执行结果。\x0d\x0a最后Finish 完成

eclipse导出jar包有两种方式,一种是直接导出jar file,一种是导出Runnable Jar file。

直接导出jar file:仅仅是把.class文件打包了,其所依赖的其他jar包未进行打包,执行该打包后的文件需要加上第三方jar包。比如java -cp .ch04.jarlib01.jar com.thnkjava.ch04,其中ch04.jar为打包的jar包,lib01.jar是依赖的第三方包,执行入口是com.thnkjava.ch04类中的main函数。也可以在导出时指明入口类。

导出Runnable jar file:可以导出class文件,也可以将历薯其依赖的所有第三方包一起导出。生成runnable jar file时,有两个选项,Extract required libraries into generated JAR 和 package equired libraries into generated JAR。 前者是把你用到的.class 文件提取出来,后者则是把你所需要的所有jar包都打进一个包里。导出时可以指定入口函数类,具体在导出的Manifest.mf文件中。执行该jar包时,可以直接输入java -jar ch04.jar即可,此时会自动调用Manifest.mf文件中的入口函数类,其依赖的埋烂老包如果是已经打包在ch04.jar包中,则不需要在Manifest.mf文件中再次指明。

首先,右击选择指定的项目,找到Export选项,点击后如下如:

然后选择“Jar file”:

接着点击“Next->”:

其中手动创建的Manifest.mf文件如下图,格式必须是按照此格式。

上面Manifest.mf文件内容如下:

Manifest-Version: 1.0

Class-Path: . meeting_cmd_lib/netty-3.8.0.Final.jar meeting_cmd_lib/弯升gs

on-2.2.4.jar meeting_cmd_lib/mysql-connector-java-5.1.6-bin.jar meeti

ng_cmd_lib/httpcore-4.2.2.jar meeting_cmd_lib/commons-logging-1.1.1.j

ar meeting_cmd_lib/commons-logging-api-1.1.jar meeting_cmd_lib/log4j-

1.2.17.jar meeting_cmd_lib/antlr-2.7.6.jar meeting_cmd_lib/asm-attrs.

jar meeting_cmd_lib/asm.jar meeting_cmd_lib/c3p0-0.9.1.2.jar meeting_

cmd_lib/cglib-2.1.3.jar meeting_cmd_lib/commons-collections-2.1.1.jar

meeting_cmd_lib/dom4j-1.6.1.jar meeting_cmd_lib/ehcache-1.2.3.jar me

eting_cmd_lib/ejb3-persistence.jar meeting_cmd_lib/hibernate-annotati

ons.jar meeting_cmd_lib/hibernate-commons-annotations.jar meeting_cmd

_lib/hibernate-entitymanager.jar meeting_cmd_lib/hibernate-tools.jar

meeting_cmd_lib/hibernate3.jar meeting_cmd_lib/javassist.jar meeting_

cmd_lib/jdbc2_0-stdext.jar meeting_cmd_lib/jta.jar meeting_cmd_lib/jt

idy-r8-20060801.jar

Main-Class: com.kingmes.command.CmdDispacth    

 -----------此处必须有换行,引用的各jar包之间必须用空格分隔,否则解析会出错。

右击选择项目后,点击“Export”->"Runnable Jar file"。即可跳到下面页面,选择入口函数和保存路径及提取方式后,点击“Finish”即可生成。此处的Library handling 选择第一项,表示会将其中的第三方包一起打包。

打包成jar文件:

eclipse 中选择要发布的工程右键单击,选择export

然后在列表中选择jar(不一定马上看到,但是可以找到的)

确定后下一步,选择你要发布的类,反正你要用的到的类全部选择雹厅闹进去包括图片或者音乐(音乐和图片的引用方式有关系,另当别论),然后取个名称,选择路径

再下一步两次,然后选择main-class,就是你运行伏旦程序时运行的哪个类,选择后单击finish,jar文件应该打包成功了源罩,双击可以直接运行。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/12375486.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-23
下一篇2023-05-23

发表评论

登录后才能评论

评论列表(0条)

    保存