Ubuntu 12.04 で Eclipse 3.7 を使用しています。
フォルダー内の特定の Eclipse プロジェクトに 5 つの .java ファイルがありsrc
ます。bin
プロジェクト フォルダーには、( 、lib
およびsrc
フォルダーを除いて)help
ファイルと、properties
特定の入力ファイルに加えてファイルがあります。
.jar
Java ファイルを含むファイルを作成し、プロパティ ファイルをパラメーターとして使用して、コマンド ラインから実行可能にする必要があります。
例えば :
java -jar <jar-file-name>.jar -info file.properties
Eclipse を使用して、プロジェクトを.jar
ファイルとしてbin
フォルダーにエクスポートしました。
properties
すべての入力ファイル、ファイル、およびhelp
ファイルをdist
フォルダーにコピーし、コマンドを実行しました。
と言うエラーが出ました
Failed to load Main-Class manifest attribute from jar
次に、この回答を確認し、必要なことを行い(行でマニフェストファイルを作成しました)、実行しました
jar cfm <jar-file-name>.jar <manifest-file-name> ./bin/*.class
動作せず、 . がスローされましたClassNotFoundException
。
どんな助けでも大歓迎です。
編集
.jar のエクスポート中に「完了」ではなく「次へ」を選択して、メイン クラスを追加しました。実行中に、mysql コネクタ jar に対して「ClassNotFoundException」がスローされました。とはいえ、jar の作成中に追加された lib フォルダーに含まれています。
Exception in thread "main" java.lang.RuntimeException: java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
2回目の編集
関連する出力。
java -cp ./lib/* -jar <non-runnable-jar>.jar -info info.properties
./lib/
依存するすべてのjarがどこにありますか。
このエラーが発生しました:
Exception in thread "main" java.lang.RuntimeException: java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
at polygonprobability.Model.readTestingData(Model.java:178)
at polygonprobability.Model.<init>(Model.java:136)
at polygonprobability.Info.getModel(Main.java:290)
at polygonprobability.Main.loadInfo(Main.java:138)
at polygonprobability.Main.operInfo(Main.java:61)
at polygonprobability.Main.distribute(Main.java:170)
at polygonprobability.Main.parse(Main.java:81)
at polygonprobability.Main.main(Main.java:34)
Caused by: java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:188)
at polygonprobability.DatabaseConnect.authorizeSQL(DatabaseConnect.java:50)
at polygonprobability.Model.readTestingData(Model.java:157)
... 7 more
為に
java -cp /lib* -jar <non-runnable>.jar <packagename>.Main -info info.properties
このエラーが発生しました
Exception in thread "main" java.lang.NoClassDefFoundError: /lib64
Caused by: java.lang.ClassNotFoundException: .lib64
at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
Could not find the main class: /lib64. Program will exit.