jar ファイルと 1 つのメイン クラスを 1 つの jar にマージしています。問題は、私のメイン クラスがこれらの jar を使用していることです。それが 1 つの jar にあると、クラス定義が見つからないだけでスローされます。クラスに瓶の中の瓶を見せる方法は?
1 に答える
1
JavaLauncher$AppClassLoader
は、Jar 内の Jar からクラスをロードする方法を知りません。必要なのは、ファイルシステムの jar からではなく、アーカイブ内の jar からクラスとリソースをロードする方法を知っているカスタム クラスローダーです。
one-jarを見ることができます。これにより、Java アプリケーションをその依存関係の Jar と共に単一の実行可能な Jar ファイルにパッケージ化できます。
JarClassLoader は、トップ JAR およびトップ JAR 内の JAR から、クラス、ネイティブ ライブラリ、およびリソースをロードすることもできます。
別の解決策 (非常に見苦しいもの) は、jar 内の JAR コンテンツを爆発させることです。
于 2013-08-02T12:43:58.087 に答える