gpt4 book ai didi

java - 在 Windows 上创建的 jar 无法在 Linux 上运行

转载 作者:行者123 更新时间:2023-12-02 05:40:52 26 4
gpt4 key购买 nike

我在 Windows 8.1 上从 Eclipse 导出了一个可运行的 jar。当我尝试在 kali linux 上调整它时,它给出“无效或损坏的 jarfile”

然后我使用 intellij 创建了 jar,但它在 kali linux 上给出了相同的错误。

Jar 在我用这两种方法创建的 Windows 系统上运行良好。我正在使用 oracle jdk 6 导出 jar。在kali linux上我安装了openjdk。

在kali linux上解压DocUploder.jar的输出

Archive:  DocUploder.jar
End-of-central-directory signature not found. Either this file is not
a zipfile, or it constitutes one disk of a multi-part archive. In the
latter case the central directory and zipfile comment will be found on
the last disk(s) of this archive.
note: DocUploder.jar may be a plain executable, not an archive
unzip: cannot find zipfile directory in one of DocUploder.jar or
DocUploder.jar.zip, and cannot find DocUploder.jar.ZIP, period.

最佳答案

好吧,由于经过长时间的交谈后答案很明显,我将提供有助于查找“我的 jar 不运行”之类的问题的操作列表。

  1. 检查命令行。确保类路径正确。
  2. 检查错误消息。如果它提示 jar 已损坏,请检查 jar。如果它提示类版本,请检查 JRE 版本。如果抛出 ClassNotFoundExceptionClassDefNotFoundError,请检查类路径。如果它抛出 NoSuchMethodException 或类似的情况,请检查库的兼容性。
  3. 要检查 jar 文件,请尝试使用 jar vft your.jar (如果您有 JDK)或在 Linux 上使用 unzip 或在 Windows 上提取 zip 文件之类的命令。如果这不起作用 - jar 文件已损坏。
  4. 如果 jar 文件在一台计算机上运行而在其他计算机上无法运行,请检查您是如何复制该文件的。首先检查两台机器上的文件大小。在 unix 上使用 ls -l 或在 Windows 上使用 dir。如果文件大小相同,请尝试通过创建哈希来比较它们。在 Linux 上使用 md5sum my.jar ,在 Windows 上使用 WinMd5 等工具。另一种可能性是前后复制文件并检查它是否仍然正常。

关于java - 在 Windows 上创建的 jar 无法在 Linux 上运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24526438/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com