我一直在学习JAR文件,并希望自己创建并运行一个。我执行了以下步骤:
通过编写
在classes子文件夹中创建一个jar文件jar -cvmf manifest.txt zzz.jar * .class
尝试输入
来执行jar文件java -jar zzz.jar
这会产生ClassNotFound异常。如果我尝试通过在Windows中双击它来执行jar我得到一个错误框说“无法找到主类xxxx”
我已经仔细检查了清单文件中类的拼写,这是正确的。
可能很重要:我必须使用java -cp编译我的程序。 xyz因为我的类路径存在问题。这是否意味着我还需要以不同的方式执行jar?我试过了 java -cp。 -jar zzz.jar 但结果却出现了同样的例外。
编辑:我最终从头开始,现在它运行(使用基本的-jar zzz.jar命令)。令人沮丧的是,我不知道我做错了什么,但很高兴它正在发挥作用!
答案 0 :(得分:1)
您可能必须提供要在类路径之后执行的.class文件的完整路径。即java -cp xxx.jar classes.mainProgram.class
。其中classes
是包含类文件的文件夹的名称。
答案 1 :(得分:1)
不应该编号5.在类子文件夹中运行,所有类文件都在哪里?如果你的类在包中,它们应该是,你可能想要使用*而不是* .class ..?
要检查jar文件包含的内容,您可以运行:
jar tf zzz.jar