我有一个在 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。大多数代表正常键入此内容,但有些代表剪切并粘贴了损坏的命令。