Java 在windows上创建的jar不';我不能在linux上工作
我在Windows8.1上从Eclipse导出了一个可运行的jar。当我在kali linux上尝试t tun它时,它会给出“无效或损坏的JAR文件” 然后,我使用intellij创建了jar,但在kali linux上也出现了同样的错误 Jar在我用这两种方法创建的windows系统上都能正常工作。我正在使用OracleJDK6导出jar。在kali linux上,我安装了openjdk 在kali linux上解压DocUploder.jarJava 在windows上创建的jar不';我不能在linux上工作,java,eclipse,jar,intellij-idea,executable-jar,Java,Eclipse,Jar,Intellij Idea,Executable Jar,我在Windows8.1上从Eclipse导出了一个可运行的jar。当我在kali linux上尝试t tun它时,它会给出“无效或损坏的JAR文件” 然后,我使用intellij创建了jar,但在kali linux上也出现了同样的错误 Jar在我用这两种方法创建的windows系统上都能正常工作。我正在使用OracleJDK6导出jar。在kali linux上,我安装了openjdk 在kali linux上解压DocUploder.jar Archive: 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没有运行”
ClassNotFoundException
或ClassDefNotFoundError
检查类路径。如果抛出NoSuchMethodException
或类似错误,请检查库的兼容性李>
jarvft(如果您有JDK)或类似于unzip
的命令,或者在windows上使用解压缩文件。如果这不起作用-jar文件已损坏李>
如果jar文件在一台机器上运行,而没有在另一台机器上运行,请检查您是如何复制该文件的。首先检查两台机器上的文件大小。在unix上使用ls-l
,在windows上使用dir
。如果文件大小相同,请尝试通过创建哈希来比较它们。在linux上使用md5sum my.jar
,在windows上使用WinMd5
等工具。另一种可能是前后复制文件,并检查其是否仍然正常李>
如何在linux上运行jar?一些Java版本(我知道一个愚蠢的问题)尝试运行jar vft yourjar.jar
或解压yourjar.jar
。这只是为了检查jar是否确实已损坏。@MadProgrammer,OP说jar已损坏,而不是类文件。这可能意味着java版本的相关性较低。如果无法解压缩该文件,它确实已损坏。如何将文件从windows复制到linux?