java程序打包成jar文件,使用到第三方jar包

1、右击工程选择Export—>选择JAR file—>选择NEXT,如下图所示

2、选择需要打包的工程,并且选择存放目录,我这放在 E:jartest 目录下,然后点击NEXT,如下图所示。

3、这一步默认就行,点击NEXT。

4、如果没有项目工程没有涉及到第三方的jar包,那么在Specify the manifest选择Generate the manifest file,然后Main Class选择包含主函数的类。如下图所示

如果项目工程使用到第三方的jar包,那么需要自己写manifest文件。右击工程—>选择New File—>填写MANIFEST.MF—>点Finish。如下图所示:

然后打开MANIFEST.MF文件,编写内容如下:

1 Manifest-Version: 1.0
2 Class-Path: libcustomizer.jar libjmf.jar libmediaplayer.jar libmultiplayer.jar libsound.jar libjpcap.jar
3 Main-Class: cn.MyInterface.SendModule 4

第一行是MAINIFEST的版本,第二行Class-Path就指定了外来jar包的位置,第三行指定我们要执行的MAIN java文件。(来自:http://www.cnblogs.com/lanxuezaipiao/p/3291641.html)

这里要注意几点:


1、Class-Path: 和Main-Class: 后边都有一个空格,必须加上,否则会打包失败,错误提示为:Invalid header field;

2、假设我们的项目打包后为sender.jar,那么按照上面的定义,应该在 KillCheatFans.jar的同层目录下建立一个lib文件夹(即lib文件和打包的jar文件

在同一个目录下),并将相关的jar包放在里面。否则将会出现“Exception in thread "main" java.lang.NoClassDefFoundError”的错误;

3、Main-Class后面是类的全地址,比如你的主文件是SendModule.java,文件里打包为package cn.MyInterface; 那么这里就写cn.MyInterface.SendModule

不要加.java后缀,主文件地址写错将会出现“找不到或无法加载主类”的错误;

4、写完Main-Class后一定要回车(即最后一行是空白行),让光标到下一行,这样你生成的jar包才能找到你的主class去运行,

否则将会出现“jar中没有主清单属性”的错误。


然后在Specify the manifest选择Use existing manifest from workspace,然后Main Class选择包含主函数的类。如下图所示

5、最后点击Finish,生成jar文件。

原文地址:https://www.cnblogs.com/ming-zi/p/5911791.html