我有一个程序,我已经写了,变成了一个jar文件。 jar文件在我的电脑上工作得很好。当我尝试运行服务器上的程序时,它将运行,jar文件不起作用。我得到这个错误。程序工作在我的电脑,而不是服务器
Exception in thread "main" java.lang.NoClassDefFoundError: Publish
Caused by: java.lang.ClassNotFoundException: Publish
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:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
Could not find the main class: Publish. Program will exit.
我觉得这个问题是由不同版本的Java和不同的环境或东西造成的。我认为这些库不是这里的问题,但是这个程序正在运行的环境。 jar文件在我自己的计算机上完美工作。
我的Java版本 Java版本 “1.6.0_22” 的Java(TM)SE运行时环境(建立1.6.0_22-B04) 的HotSpot的Java(TM)客户端虚拟机(建设17.1 - B03,混合模式,共享)
服务器Java版本 Java版本 “1.6.0_24” 的Java(TM)SE运行时环境(建立1.6.0_24-B07) 爪哇热点(TM)64位服务器VM(构建19.1-B02,混合模式)
我也收到此错误,这表明我可能有一个32位Java在服务器具有64位,这可能会导致问题。 VM 的初始化过程中出现
误差对象堆
我解决这个错误得到了很容易被刚刚分配更多的内存来运行此程序无法保留足够的空间。
有谁有关于如何解决这个问题的任何想法?
注:我也看了清单文件,它似乎罚款