您的位置:首页 > 编程语言 > Java开发

关于java文件导出jar文件的问题,区别开 jar file 和 runnable jar file

2017-08-25 09:22 393 查看
jar file 和 runnable jar file:

导出jar文件的时候,jar file 仅仅是把.class打包了,所以执行这种jar file需要用 java -cp .;ch04.jar com.thnkjava.ch04, 如果你还应用到另外的lib库,你必须在cp里说明,也就是 java -cp .;ch04.jar;lib01.jar;lib02.jar com.thnkjava.ch04 来执行。事实上可以发现ch04.jar也在cp里面,说明ch04.jar就是lib库,最后的参数指明了要被执行的类名。而runnable
jar file是可执行的jar文件,执行这个jar包的时候是不需要指明哪个类的,直接这样执行 java -jar ch04.jar。原因就是jar包中的MANIFEST.MF内容不同。 runnable jar包中指明哪个类先执行,所以你可以用 java -jar ch04.jar来执行你想要执行的代码,而不必指明具体哪个类。这个你可以打开
jar包查看MANIFEST.MF的区别,一目了然。

以前导的都是jar file,在cmd运行界面一直报空指针的错误。如图:



解决方法:

1.将项目的获取路径方式进行修改:(只要是有关路径的就看看是否需要修改。)



修改为了



2.导出的jar file的jar包,mantfest.mf文件是缺少class-path的第三方jar包的



修改它的配置文件:(当前项目用到了四个jar包。)



注意:lib包要和.jar 的执行文件在一个目录下,lib里面有需要的那四个jar包。而导出的jar包里的lib不再使用。



然后就可以在dos界面运行jar文件 了。

导出的jar file 和runnable jar file:



另外,还需要注意,你工程目录下的其他文件夹需要和你部署的jar包在一个目录下。



下面是实际部署到服务器的截图。



运行jar文件,如果你的日志需要记录在当前目录下。那你需要进入这个文件夹然后再运行jar文件。例如,习惯性这样运行jar文件



那么那些自动生成的文件就会生成在前面目录下面。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  runnable jar file