首先,要确认自己写的程序错误!
打包步骤:
- 打开导出菜单界面
选择项目 -> 右键Export -> 弹出导出界面
- 选择Java -> JAR file -> Next
- 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的路径以及jar包文件名,选择Next
- 下一页可以选择是否导出那些含有警告warning或者错误errors的*.class文件,Next
- 下一个页面里可以对项目做一些配置。(如果项目没有引入第三方jar包,这项我们采用系统默认的选项就OK,Main class一定要设置成为你项目的那个主方法入口类)
- Generate the manifest file是系统帮我们自动生成MANIFEST.MF文件,如果你的项目没有引用其他class-path,那可以选择这一项。
- Use existing mainfest from workspace。这是可以选择我们自定义的.MF文件,格式如上所写。
- Seal content。要封装整个jar或者指定的包packet
- Main class。这里可以选择你的程序入口,将来打包出来的jar就是你这个入口类的执行结果。
- 最后Finish,搞定,验证jar包是否有错误
java -jar decompress.jar
主清单MANIFEST.MF
先说一下文件格式:
Manifest-Version: 1.0
Main-Class: com.socket.server.SimpleHttpServer
Class-Path: lib/commons-beanutils-1.8.0.jar
lib/commons-codec-1.3.jar
lib/commons-io-1.4.jar
lib/commons-logging-1.1.1.jar
lib/httpclient-4.0.jar
lib/httpcore-4.0.1.jar
lib/jcouchdb-1.0.1-1.jar
Manifest-Version是指程序的版本号
Main-Class是指程序的主方法入口类
Class-Path就指定了外来jar包的位置
注意事项:
(1)Manifest-Version、Main-Class、Class-Path冒号后要有一个空格
(2)Class-Path换行后,每增加一行之前都要加两个空格,不要使用TAB键,否则会报错:invalid header
(3)在文件最后加两个回车