【问题标题】:Java 9 gives "Main Class not found" ob Ubuntu, but file works on Windows and Mac // how to find main Class in OpenJDKJava 9 在 Ubuntu 上给出“找不到主类”,但文件在 Windows 和 Mac 上工作 // 如何在 OpenJDK 中找到主类
【发布时间】:2018-04-26 05:03:24
【问题描述】:

所以我有一个 jar 文件可以在 Windows 和 Mac 上完美运行,但不能在 Ubuntu 上运行(唯一安装 Openjdk 的地方) 这个问题暗示 OpenJDK 是问题所在:Java Application main class not found on Ubuntu 那么:如何向 OpenJDK 显示正确的主类? (它在 jar 文件中的 /chat 中的 Client.class)我知道它与 MetaINF 文件有关,但我无法猜测那里的正确输入。 这是当前 MANIFEST.MF 文件中的内容:

清单版本:1.0

主类:Chat.Client

我在该主题的任何地方都找不到任何东西,但我也无法在 Ubuntu PC 上安装专有 java,因为它是 jar 必须运行的地方,也是我不是管理员的地方。

【问题讨论】:

    标签: java ubuntu openjdk


    【解决方案1】:

    它的Client.class在jar文件的/chat中

    那么Main-Class: Chat.Client不正确,应该是Main-Class: chat.Client(小写chat)。

    所以可能不是 OpenJDK 问题,只是某些文件系统不区分大小写而其他文件系统区分大小写。您几乎可以肯定在 Windows 上使用的是不区分大小写的。我想你也一定在 Mac 上,虽然我觉得这很令人惊讶。你可能不在 Ubuntu 上。

    【讨论】:

    • (无法确定这是否是一个纯粹的错字/非复制“对未来的其他人没有用”的问题。我不这么认为,事实可能很重要在某些环境中而不是在其他环境中是重要的,并且很可能在未来对其他人有用。)
    • @Hobbamok:没有理由粗鲁,尤其是对于那些愿意花一些时间来帮助你的人。 “你可能不在 Ubuntu 上”我的意思是“你可能不在 Ubuntu 上 [使用不区分大小写的文件系统]”。 (用英语来对比这样的句子是很正常的结构。)您是否尝试指定正确的类名? chat.Client,不是Chat.Client?
    【解决方案2】:

    对于遇到相同问题的人来说,这不是一个真正的答案,而是一个简单的解决方法:安装(安装是可选的,您可以在下载后直接使用它)来自 Oracle 的专有 JDK,如果您没有管理员权限(我没有) :您不需要它们,只需从 oracle 下载 Java JDK 并使用 /pathtothedownloadedJDK/bin/java 而不是“java”启动 .Jar,然后使用通常的 -jar yourJarFile.jar

    Tl:Dr:从 Oracle 获取 JDK,你不需要 sudo 来使用它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-30
      • 1970-01-01
      • 2017-03-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多