可运行的jar在Mac上运行; 在Windows上给出主类错误

我正在Mac上使用Eclipse生成一个应用程序,并使用File Export来生成一个Runnable Jar。 我生产的Runnable Jar文件在我的Mac和另一台Mac上快乐地运行。 但是在两个不同的Windows机器上,他们不这样做。 我已经四处寻找答案,并尝试了以下内容:
1)当我双击jar子图标什么也没有发生。
2)当我input
java -jar Luscinia.jar
在命令提示符下,我得到:
“无法find或加载主类lusc.net.github.Luscinia”
3)当我input
java -cp Luscinia.jar lusc.net.github.Luscinia
我得到相同的错误信息。

  • 在Windows机器(至less)之一的JRE是最新的(1.8.0_40)。 Mac上的JRE也是如此。
  • 我的jar里面的文件结构确实有Luscinia.class嵌套在github,net和lusc目录中。
  • 清单中包含以下行:
    类path:。
    主要类:lusc.net.github.Luscinia
    (&它在底部包含两个空行)
  • 其他jar在两台Windows机器上运行良好。
  • 再次强调,它在两台Mac机器上运行得非常好。

有任何想法吗?

  • 我检查了EOL字符是否有效。 将其更改为Windows \ r \ n没有任何影响。 (感谢RealSkeptic的想法)。

你确定你的类没有尝试加载在Windows JRE中没有的Mac特定的类(供应商私有类,比如windows上的com.sun类),还是不缺少对于主类所必需的类路径的依赖关系?

如果您的某个依赖类在主类被加载时(例如在静态块中)未能加载,则导致无法加载导入类,您也可能遇到此问题。

无论如何,拥有主类的来源可以帮助解决问题。

DarkRift提供的答案是正确的:

隐藏在一个文件中的是对一个com.apple …类的引用,这个类是多余的,至关重要的是平台特定的。

在这种情况下,当我收到错误信息:

 Could not find or load main class lusc.net.github.Luscinia 

这意味着“无法加载”,而不是“无法找到”。 感谢您的所有建议。