私が書いて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) Java HotSpot(TM) クライアント VM (ビルド 17.1-b03、混合モード、共有)
サーバー Java バージョン Java バージョン "1.6.0_24" Java(TM) SE ランタイム環境 (ビルド 1.6.0_24-b07) Java HotSpot(TM) 64 ビット サーバー VM (ビルド 19.1-b02、混合モード)
また、このエラーが発生します。これは、サーバーに 64 ビットがあり、これが問題を引き起こしている可能性があるのに、32 ビットの Java を使用している可能性があることを示唆しています。
VM の初期化中にエラーが発生しました オブジェクト ヒープに十分なスペースを予約できませんでした
このプロセスの実行にメモリを割り当てるだけで、このエラーを簡単に回避できました。
この問題を解決する方法について誰か考えがありますか?
注:マニフェストファイルも見ましたが、問題ないようです