Java 无法加载依赖于Mac的jar
我在Maven中创建了一个完整的jar应用程序,它可以在大多数平台(Windows、Unix和一些Mac)上运行,但不能在MacLion/10.6上运行,因为出现错误而失败Java 无法加载依赖于Mac的jar,java,macos,maven,Java,Macos,Maven,我在Maven中创建了一个完整的jar应用程序,它可以在大多数平台(Windows、Unix和一些Mac)上运行,但不能在MacLion/10.6上运行,因为出现错误而失败 java –jar jumbo-converters-crystal-cif-0.3-SNAPSHOT-jar-with-dependencies.jar 0151.cif 0151.cml Exception in thread "main" java.lang.NoClassDefFoundError: ?jar Cau
java –jar jumbo-converters-crystal-cif-0.3-SNAPSHOT-jar-with-dependencies.jar 0151.cif 0151.cml
Exception in thread "main" java.lang.NoClassDefFoundError: ?jar
Caused by: java.lang.ClassNotFoundException: ?jar
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
更新:MANIFEST.MF包含:
Manifest-Version: 1.0
Archiver-Version: Plexus Archiver
Created-By: Apache Maven
Built-By: pm286
Build-Jdk: 1.6.0_24
Main-Class: org.xmlcml.cml.converters.cif.CIF2CMLConverter
解决方案:@Charlie是对的。此错误发生在类中。大多数代表没有问题。“罪魁祸首”是Powerpoint。我被要求以Powerpoint的形式提供我的材料(这不是我的常规做法),并且它“有益地”将连字符减号(U+002D)转换为EN_破折号。大多数代理通常都会键入此命令,但有些代理会剪切并粘贴已损坏的命令。问题在于您用于执行的命令
java –jar jumbo-converters-crystal-cif-0.3-SNAPSHOT-jar-with-dependencies.jar 0151.cif 0151.cml
这是错误的。。。应该是:
java -jar jumbo-converters-crystal-cif-0.3-SNAPSHOT-jar-with-dependencies.jar 0151.cif 0151.cml
(这可能不明显,但第一个是在
jar
之前的一个,第二个是a。)从jar文件中提取您的清单,并将其包含在问题中。谢谢。我会这样做。可能需要一点时间,而且相当大…@这是你想要的文件吗?太棒了-我应该想到这个。我正在运行一个类,大多数代表都正确地键入了“-”。