bnd ランチャーの実行に問題があります。実際の問題はgradleを使用したビルド中に発生しましたが、jarを直接呼び出しても機能しません。Launcher クラスは実際にその jar に存在し、main メソッドがあります。このエラーが発生した理由を知っている人はいますか?
$ java -cp cnf/cache/biz.aQute.launcher/biz.aQute.launcher-1.4.0.jar aQute.launcher.Launcher
Error: Could not find or load main class aQute.launcher.Launcher
jar の内容を読むと、本当に Launcher クラスがあることがわかります。
$ jar tvf cnf/cache/biz.aQute.launcher/biz.aQute.launcher-1.4.0.jar
1490 Fri Sep 26 06:49:00 CEST 2014 META-INF/MANIFEST.MF
...
1586 Fri Sep 26 06:49:00 CEST 2014 aQute/launcher/Launcher$1.class
2270 Fri Sep 26 06:49:00 CEST 2014 aQute/launcher/Launcher$2.class
794 Fri Sep 26 06:49:00 CEST 2014 aQute/launcher/Launcher$3.class
1133 Fri Sep 26 06:49:00 CEST 2014 aQute/launcher/Launcher$4.class
1100 Fri Sep 26 06:49:00 CEST 2014 aQute/launcher/Launcher$5.class
1260 Fri Sep 26 06:49:00 CEST 2014 aQute/launcher/Launcher$AllPermissionCollection.class
1149 Fri Sep 26 06:49:00 CEST 2014 aQute/launcher/Launcher$AllPolicy.class
37566 Fri Sep 26 06:49:00 CEST 2014 aQute/launcher/Launcher.class
...
また、別のランダム jar から別のランダム クラスをロードしようとしましたが、それは機能します。メイン メソッドが欠落している場合にのみ、別のエラーが発生します (メイン メソッドがクラスに見つかりません)。
また、これらすべてのファイルに対する権限は同じです。そうしないと、「jar tvf」も実行できませんでした。
それで、何かアイデアはありますか?