2 u013686656 u013686656 于 2016.05.05 08:54 提问

jar文件显示找不到主类怎么破

用java.util.jar编的打包,jaroutputstream包含manifest带version,classpath和mainclass(Attributes.Name),
每一个entry后写入byte[]后关闭entry,最后finish和关闭流。打包后可以解压缩,将manifest复制到另一个eclipse手动打的包下可以正常使用。
用beyondcompare3比较两jar,大小相同,解压缩后所有文件二进制相同,但自动的包就是找不到主类。
java1.8,windows7 64,类路径是.,主类是test.Helloworld,自动和手动的包在同意目录下,cd后分别java -jar xxx.jar

3个回答

u013686656
u013686656   2016.05.05 09:57
已采纳

问题解决,还是谢谢上面的朋友了,打包jar时的问题,entry一定应该用“/”,而不是“\”,解压缩时两者都能识别,而java用url读取class路径只能识别前一种。

CSDNXIAON
CSDNXIAON   2016.05.05 09:01

运行jar包提示找不到.properties文件的问题
----------------------同志你好,我是CSDN问答机器人小N,奉组织之命为你提供参考答案,编程尚未成功,同志仍需努力!

jia20003
jia20003   2016.05.05 09:10

你的manifest里面有声明哪个是主类了,如果声明了肯定可以找到

u013686656
u013686656 java -jar test.jar后显示的结果是找不到主类test.Helloworld(明确说明了找不到的类是谁),而隔壁的java -jar test2.jar 使用test.jar拷贝过去的manifest可以正常使用。从beyondcompare3和压缩工具中看目录树和解压后代码二进制是完全一样的。
一年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片