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

Python020

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 完成

第一种:在jbuilder中:

首先你要保证Run菜单-->Run Project能顺利运行

然后Wizards菜单-->Native Executable Builder

选中Compress the contents of the archive(产生jar文件的话)

Next-->Next-->选中Always include all classes and resources再Next-->Next-->Next

选中Windows GUI"exe"(产生EXE文件的话)-->Finish

再在项目的文件列表中的Native Executable右击-->Make就可以了

第二种:在cmd 下生成jar文件

abc.txt内容如下:

Manifest-Version: 1.0

Main-Class: main-class-name(回车)

在cmd下:

javac *.java

jar cvfm abc.jar abc.txt *.class

示例——生成能通过鼠标双击就执行的.jar文件

一、编写 Java源程序Test.java如下:

// Test.java

import javax.swing.*

/**

* @(#) Test.java

* Copyleft (c) 2002 RatKing

* @author <a href="[email protected]">RatKing</a>

* @version 0.1, 2002-11-7

* 描述:一个测试用的Java Application

*/

public class Test extends JFrame {

public Test(String title) {

super(title)

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)

this.getContentPane().add(new JLabel("测试!", JLabel.CENTER), SwingConstants.CENTER)

this.pack()

}

public static void main(String[] args) {

try {

//UIManager.setLookAndFeel(UIManager.getCrossPlatformLookAndFeelClassName())

UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName())

} catch(Exception e) {

e.printStackTrace()

}

Test t = new Test("Test - 测试")

t.setVisible(true)

}

}

二、编译Test.java为Test.class(当然假设你事先已经设置好了JDK的环境变量PATH和CLASSPATH)

在命令行执行编译命令:

javac Test.java

三、用文本编辑器(比如记事本/UltraEdit等 - 甚至用ECHO命令加管道“>>”)编写如下manifest文件,并保存为abc.txt

Manifest-Version: 1.0

Main-Class: Test

【注意】文件abc.txt内必须是3行文本:

第一行的内容依次是:“Manifest”、英文减号、“Version”、英文冒号、英文空格、数字“1”、英文句号、数字“0”

第二行的英文冒号与Test之间必须要有一个英文空格!!!如果有包名一定要带上!!!包名.类名

第三行是一个空行,也就是说,你要在Test之后键入一个回车,然后才可以存盘退出!!!

如果冒号后面没有空格,可以生成jar文件但不能执行;如果Test后没有回车符,则生成jar文件时会报错。

该文件可以放在任何目录下

四、将Test.class打包成.jar文件,并使用abc.txt指明哪一个是带有public static void main()的“主函数”

在命令行执行编译命令:

jar cvfm Test.jar abc.txt *.class

如果有包名可以这样写,如包名为test,一定要在该包的上一层目录执行下面这句

jar cvfm Test.jar abc.txt test

你可以使用WinZip之类的解压软件看一看刚刚生成的Test.jar文件里到底有什么。

五、用鼠标双击Test.jar的图标,应该可以看到Test执行后的窗口。

〖说明〗如果你正确地安装了 Java运行环境(JRE),那么.jar的图标应该是象一页纸并有一个A的形状,就如同写字板的图标。

如果你的.jar文件默认的打开关联不对,可以重新设置:

我 的电脑->查看(Win9x)或工具(Win2k)->文件夹选项->文件类型->选择JAR文件->编辑该类型文件的属 性->操作栏填入[ open ](不填引号和中括号[]),并在“执行操作的应用程序”栏填入[ "C:\Program Files\Java\j2re1.4.1\bin\javaw.exe" -jar "%1" %* ](填两对英文引号,不填[])

并按“确定”、“关闭”退出对.jar文件关联的编辑。

(你的javaw.exe文件是不是位于C:\Program Files\Java\j2re1.4.1\bin\路径下,视你自己电脑的情况而定)

第三种:JB中生成.exe文件

1、菜单中选择【Wizards】-【Native Executable Builder....】弹出对话框

2、在弹出的对话框中第一步(Step 1 of 7)的【Name】输入一个名称,并取消【Always create archive when building the project】点击【Next】

3、根据需要悬着需要的类,再选择【Include class dependencies】,点击【Next】

4、根据需要悬着需要的库文件,再选择下面的4个单选,反复所有的需要的库,点击【Next】

5、默认点击【Next】

6、在(Step 5 of 7)的时候选择一个主类运行点击【Next】

7、在(Step 6 of 7)的时候选择运行平台【Next】

8、默认点击【Finish】,这时候在工程的目录窗口出现了一个在(Step 1 of 7)输入的【Name】目录

9、右击这个目录,选择【Rebuild....】,Jbuilder就开始编译和创建执行文件或是Jar文件了

10、等完成之后,该目录下右几个文件,一般是有至少一个jar文件,或是一个exe文件

11、在Window打开工程所在的目录,就可以看到里面的有几个刚才编译的文件

12、执行jar就是用java -jar ***.jar、执行exe直接双击

---------------------------------------------------------------

1、不建议使用jb,因为打包后可执行文件的图标改不了且jb的可执行文件实际上是可执行的jar文件,可以将其exe扩展名改为jar一样可执行。

2、还是使用jsmooth较好,首先编写menifest文件目的指明main类,使用jar命令打包成可执行jar文件,让后使用开源的jsmooth做成exe。