コードの実行中にビルドパスを変更することについて簡単な質問があります。
たとえば、インターネットから.jarファイルをダウンロードしてから、コードの実行元と同じディレクトリにダウンロードするクラスがあります。可能であれば、jarをビルドパスにロードして、.jarファイル内のクラスにアクセスするにはどうすればよいですか?
いくつかの提案された修正/コメント:
jar:
接頭辞と接尾辞を削除し!/
ます-これらは必須のメモであり、おそらく問題を混乱させますjarファイルが存在することを確認できますか?
System.out.println(new File(new URL("file://test.jar")).exists());
クラス宣言を次のように修正します(問題を回避するために、Fileオブジェクトを取得してURLを生成します)。
URL[] classes = new URL[] { new File("test.jar").toURI().toURL() };
これは私のテスト例で機能し、jarとしてcommons-codecを使用し、Base64クラスをロードしました