
遇到jar包点击无反应,或者命令行运行时报错"Unable to access jarfile *.jar",这通常是因为jar包构建不正确,或者环境配置有问题。下面提供一种简单的解决方案。
假设你的class文件存放路径为d:\com\demo,具体操作步骤如下:
1. 打开命令提示符,进入demo目录,执行命令:cd d:\com\demo
2. 执行jar命令创建jar包:jar cvf demo.jar *,回车后会生成一个名为demo.jar的文件。
3. 查看jar命令的具体参数用法:用法:jar {ctxu}[vfm0Mi] [jar-文件] [manifest-文件] [-C 目录] 文件名 ... 选项:-c创建新的存档,-t列出存档内容的列表,-x展开存档中的命名的(或所有的〕文件,-u更新已存在的存档,-v生成详细输出到标准输出上,-f指定存档文件名,-m包含来自标明文件的标明信息,-0只存储方式;未用zip压缩格式,-M不产生所有项的清单(manifest〕文件,-i为指定的jar文件产生索引信息,-C改变到指定的目录,并且包含下列文件: 如果一个文件名是一个目录,它将被递归处理。
4. 用一个存在的清单文件mymanifest将foo/目录下的所有文件存档到名为classes.jar的存档文件中:jar cvfm classes.jar mymanifest -C foo/ .
5. 尝试一个简单的例子:将一个HelloWorld.java文件存到C盘根目录下,使用命令:javac HelloWorld.java,然后继续输入:jar cvf hello.jar HelloWorld.class,回车后会生成hello.jar文件。
6. 打开hello.jar文件,会发现里面有META-INF目录,里面有一个MANIFEST.MF文件,打开它,添加一行Main-Class: HelloWorld,保存后执行命令:jar umf MANIFEST.MF hello.jar。
7. 在命令提示符中输入java -jar hello.jar,会看到输出Hi, Hello World!。
8. 在Tomcat中发布jar文件,需要将资源打包为war格式。先准备要打包的资源,找到tomcat的webapps目录,新建一个文件夹,命名为hello,再进入该文件夹新建WEB-INF文件夹,再进入WEB-INF新建classes文件夹,将servletHelloWorld.java文件放入classes文件夹,同时建立一个名为web.xml的文件。这样初步建立了一个简单的web应用。
9. 如果在运行jar文件时遇到问题,可以编写一个.bat文件,内容如下:javaw -jar Tom.jar,运行.bat文件即可。