【问题标题】:Java couldn't find or load main class even if manifest is correct即使清单正确,Java 也无法找到或加载主类
【发布时间】:2021-04-08 05:05:25
【问题描述】:

我在 jar 文件中有 Server.Launcher 类。一切都运行良好 - 直到它没有。

也许问题在于我尝试过的新库或一些配置错误 - 但要么

java - jar JavaServer.jar

java -cp JavaServer.jar Server.Launcher

返回同样的问题 - Server.Launcher 类丢失。除了它在罐子里,而且清单是正确的。

我正在 linux 上编译 Jar 并在 Windows 上运行它。

是否有可能是其他一些缺失的类导致了这个错误?如果是这样,有什么方法可以找出问题所在?

编辑:

这是我的清单文件。

Manifest-Version: 1.0
Main-Class: Server.Launcher

主类:Server.Launcher

编辑2:

好的。问题在于我尝试捆绑的两个罐子。猜猜他们有一些未满足的依赖关系或其他东西。不知道如何解决它,因为我需要那些罐子。

【问题讨论】:

  • 我不明白。你有两个独立的 JAR 文件吗?或者您是否创建了一个包含两个其他 JAR 文件的 JAR 文件? Server.Launcher 类丢失。除了它在罐子里显然不是,否则你不会得到那个消息。我的猜测是您正在查看错误的 JAR 文件。
  • 运行 jar -tvf JavaServer.jar 并验证 Server/Launcher.class 是否在其中。

标签: java jar classpath


【解决方案1】:

只需获取每个 JAR 的源代码,然后将它们一起编译。另外,为了获得良好的实践,请使用-jar 而不是- jar

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-09-24
    • 1970-01-01
    • 2019-01-25
    • 2017-07-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多