実行時にjarファイルをロードする際に問題があります。 私hotel.jarがロードされ、その方法(makeReservation)は、次のコードを使用して呼び出されます:問題は私のjarファイルのクラスHotelPackage.HotelMgtである別のjarファイルに依存するjarファイルをロードする際の問題
File file = new File("c:/ComponentFiles/hotel.jar");
URL jarfile = new URL("jar", "", "file:" + file.getAbsolutePath() + "!/");
URLClassLoader cl = URLClassLoader.newInstance(new URL[]{jarfile});
Class componentClass = cl.loadClass("HotelPackage.HotelMgt");
Object componentObject = componentClass.newInstance();
Method setMethod = componentClass.getDeclaredMethod("makeReservation", null);
setMethod.invoke(componentObject, null);
が、私は別のクラス変数を持っているがクラス(HotelPackage.Hotel)は別のjarファイルにあります。 私が開いて、上記と同じコードを持つ他のjarファイルをロードしようとしたが、私は「メイン」java.lang.NoClassDefFoundErrorのクラスDEF:スレッドで 例外を見つけることができません例外受け取る:BeanPackage /ホテル
を解決策は何ですか?
この場合、おそらく、すべてのjarをマスターjarに入れたいと思うかもしれません - このプロジェクトはあなたにとって面白いかもしれません:http://one-jar.sourceforge.net/ – FunThomas424242