把Java程序打包成jar文件包并执行 转载
1、首先要确认自己写的程序有没有报错。
2、第一次我写的是Web Project到现在,我一直没有执行成功,所以最好创建的是java Project
打包步骤:
1.在项目上,右键,选择Export。
2.进入到下图界面,选择Java 下面的JAR file
3.选择项目,确认必要的文件是否选中,选择保存jar文件包的路径,如下图
4.完成步骤3之后,点击Next,进入如下图界面:
5.直接点Next,进入下面的界面:
6.直接点Finish,jar文件包完成。
备注:
1).可以根据自己的需要选择一些条件。
2).打开jar文件包下面的META-INF\MANIFEST.MF这个文件,查看信息是否正确。
Class-Path:这个导入的是,本项目需要的一些其他的jar文件包
Main-Class:这个是main()方法所在的类的.class文件的路径,并且在最后有个回车符(如:上面显示的是,main()方法在test包下面的PostgresSQLSync类中。)
///运行//
在windows下面运行jar包,确认导出的jar包是否存在问题:
打开DOS命令:切换到本项目路径下,然后,输入java -jar xxx.jar。
如果输入的信息,和运行项目时,在控制台输出的信息一样,就表示jar文件包已经完成。
///错误改正
在DOS命令中,出现如下错误时,表示Main-Class没有在META-INF\MANIFEST.MF这个文件中配置。
或者报 没有主清单
修改如下:在java中编译JAR文件的时候我们都会用到,jar这个命令。
1) 当用着jar 文件时候我们不可少的是cvf这几个参数来生成jar文件。
但是用个文件来了,在用不使用工具的前提下我们生成的jar文件包后运行会出现。某某类的没有主清单属性。如下图。
2)这样的问题是因为,jar包中的META-INF文件夹下的MANIFEST.MF文件缺少定义jar接口类。说白了就是没有指定class类。这里说明一下MANIFEST.MF就是一个清单文件,通俗点将就相当于WINDOWS中ini配置文件。用来配置程序的一些信息。所以才造成这样的问题。
3)解决这个问题的方法就是要在MANIFEST.MF文件中添加一个入口类。
即需要一个Main-Class定义行。更详细的MANIFEST.MF文件定义说明,请参考官方MANIFEST.MF文件定义手册。下面是一个完整的详细的MANIFEST.MF文件信息对于这种问题的解决办法网络上各种说法呀。小编只能用无语来形容,这个问题的最更本原因就如提示一样,没有主清单属性。
所以,解决办法很简单。就是在MANIFEST.MF添加入口。
4) 首先找到你的jar文件。
5)之后双击打开jar文件,你的电脑需要安装有winrar。或者其他压缩工具。
8)现在看看文件中是否有Main-Class这样一行文字,如果没有的话那么添加一行。
Main-Class: gui 这里的gui是你的xxx.java文件编译后的xxx.class文件名称。但是不要加.class后缀。
如果有的话,那么看下Main-Class: gui 这后面的名称是否和你的class文件名称一致。不一致请改回来。 9)注:这里Main-Class:要空一格写上你的class文件名。如果你没有空格的话,还是问题是解决不了的。