【发布时间】:2020-12-19 02:51:29
【问题描述】:
我有几个 .class 文件,我想将其转换为一个 .jar 文件。这是 jar 文件的清单:
清单.MF:
Main-Class: Server
这是我用来编译文件的命令:
jar cfm Server.jar META_INF/MANIFEST.MF ../server/Server.class ../server/message/User.class ../server/message/ServerNode.class ../server/message/ServerHub.class ../server/message/Chattype.class ../server/message/Chat.class
最后是我的文件夹结构:
message-platform -
dist -
META-INF -
MANIFEST.MF
server -
Server.class
message -
User.class
ServerNode.class
Chat.class
ServerHub.class
Chattype.class
这是我收到的错误消息:
Error: Could not find or load main class Server
Caused by: java.lang.ClassNotFoundException: Server
这就是我执行 .jar 文件的方式:
java -jar Server.jar
有人可以帮我解决这个问题吗?谢谢
更新: 我创建了服务器包,现在一切正常。感谢所有试图提供帮助的人。
【问题讨论】:
-
Manifest 文件名为
MANIFEST.MF,并放置在 JAR 内的META-INF文件夹中 - 请参阅 here。 -
@andrewjames 没错,但
jar工具可能只是从文本文件中读取信息并将其添加到META-INF/MANIFEST.MF文件中?不过不确定(我很少直接使用jar工具)。 -
@andrewjames 修复了它,结果相同
-
将该 jar 文件解压缩到另一个文件夹并检查它是否具有您想要的确切文件夹结构。 Server.class 应该在根文件夹中,MANIFEST.MF 应该在 META-INF 中,所有其他类文件应该在预期的位置。
-
@MNEMO 刚刚将解压文件的图片添加到不同的文件夹中
标签: java jar executable-jar