Java 9 给出 "Main Class not found" ob Ubuntu,但文件适用于 Windows 和 Mac // 如何在 OpenJDK 中找到 main Class
Java 9 gives "Main Class not found" ob Ubuntu, but file works on Windows and Mac // how to find main Class in OpenJDK
所以我有一个 jar 文件在 Windows 和 Mac 上工作得很好,但在 Ubuntu 上(唯一安装 Openjdk 的地方)
这个问题暗示 OpenJDK 是问题所在:
那么:如何向 OpenJDK 显示正确的 Main Class? (它在 jar 文件的 /chat 中的 Client.class)我知道它与 MetaINF 文件有关,但我猜不出那里的正确输入。
这是 MANIFEST.MF 文件中当前的内容:
Manifest-Version: 1.0
Main-Class: Chat.Client
我在该主题的任何地方都找不到任何内容,但我也无法在 Ubuntu PC 上安装专有 java,因为它的 jar 必须 运行 并且我不是管理员的那个。
Its Client.class in /chat in the jar file
那么Main-Class: Chat.Client
不正确,应该是Main-Class: chat.Client
(小写chat
)。
所以可能不是 OpenJDK 问题,只是一些文件系统不区分大小写而其他文件系统区分大小写。您几乎可以肯定在 Windows 上使用不区分大小写的。我猜你一定也在 Mac 上,尽管我觉得这很奇怪。您可能不在 Ubuntu.
这不是一个真正的答案,但对于有相同问题的人来说是一个简单的解决方法:安装(安装是可选的,您可以在下载后直接使用)来自 Oracle 的专有 JDK,如果您没有管理员权限(我不需要):你不需要它们,只需从 oracle 下载 Java JDK 并使用 /pathtothedownloadedJDK/bin/java 而不是 "java" 启动 .Jar 然后通常 -罐子 yourJarFile.jar
Tl:Dr: 从 Oracle 获取 JDK,你不需要 sudo 来使用它。
所以我有一个 jar 文件在 Windows 和 Mac 上工作得很好,但在 Ubuntu 上(唯一安装 Openjdk 的地方)
这个问题暗示 OpenJDK 是问题所在:
Manifest-Version: 1.0
Main-Class: Chat.Client
我在该主题的任何地方都找不到任何内容,但我也无法在 Ubuntu PC 上安装专有 java,因为它的 jar 必须 运行 并且我不是管理员的那个。
Its Client.class in /chat in the jar file
那么Main-Class: Chat.Client
不正确,应该是Main-Class: chat.Client
(小写chat
)。
所以可能不是 OpenJDK 问题,只是一些文件系统不区分大小写而其他文件系统区分大小写。您几乎可以肯定在 Windows 上使用不区分大小写的。我猜你一定也在 Mac 上,尽管我觉得这很奇怪。您可能不在 Ubuntu.
这不是一个真正的答案,但对于有相同问题的人来说是一个简单的解决方法:安装(安装是可选的,您可以在下载后直接使用)来自 Oracle 的专有 JDK,如果您没有管理员权限(我不需要):你不需要它们,只需从 oracle 下载 Java JDK 并使用 /pathtothedownloadedJDK/bin/java 而不是 "java" 启动 .Jar 然后通常 -罐子 yourJarFile.jar
Tl:Dr: 从 Oracle 获取 JDK,你不需要 sudo 来使用它。