无法在Mac上加载jar-with-dependencies

时间:2013-02-01 02:46:10

标签: java macos maven

我在Maven中创建了一个应用程序,它是一个完整的jar,可以运行在大多数平台上(Windows,Unix,某些Mac)但不适用于Mac Lion / 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
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(不是我的常规练习)提供,并且已经“帮助”将HYPHEN-MINUS(U + 002D)转换为EN_DASH。大多数代表都正常打字,但有些代表剪掉并粘贴了腐败的命令。

1 个答案:

答案 0 :(得分:3)

问题是您用来执行的命令

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之前的'EN DASH' (U+2013),第二个是hyphen