hallo, ich habe folgendes Problem.
ich habe ein package mit allegemein nutzbaren klassen. dieses package habe ich in ein JarFile (TestPackage.jar) gepackt. jetzt habe ich ein anderes projekt, dass klassen aus diesem package benötigt. das neue projekt ist ebenfalls in einer JarFile (TestProjekt.jar). nun habe ich im JarFile (TestProjekt.jar) das JarFile(TestPackage.jar) mit reingepackt und will auf die desen klassen über reflection zugreifen. aber wie geht das? habs schon mit dem URLClassLoader versucht:
muss ich denn classpath mässig was in der manifestdatei festlegen? wenn ja was? meine manifestdatei sieht so aus:
MANIFEST:
Manifest-Version: 1.0
Ant-Version: Apache Ant 1.6.2
Created-By: 1.4.2_05-b04 (Sun Microsystems Inc.)
Main-Class: wako.test.main.TestProjekt (die ist in Test Projeckt.jar)
Das JarFile TestProjekt.jar hat folgenden inhalt:
META-INF
Wako/test/main/TestProjekt.class
TestPackage.jar
Folgende fehlermeldung kommt halt immer:
java.lang.ClassNotFoundException: wako.java.utils.Debug
at java.net.URLClassLoader$1.run(URLClassLoader.java:199)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:187)
at java.lang.ClassLoader.loadClass(ClassLoader.java:289)
at java.lang.ClassLoader.loadClass(ClassLoader.java:235)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:302)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:219)
at wako.test.main.TestProjekt.main(TestProjekt.java:31)
bräuchte echt dringent hilfe, da ich es in einem richtiges projekt nutzen wöllte, falls es überhaupt möglich ist
danke wako
ich habe ein package mit allegemein nutzbaren klassen. dieses package habe ich in ein JarFile (TestPackage.jar) gepackt. jetzt habe ich ein anderes projekt, dass klassen aus diesem package benötigt. das neue projekt ist ebenfalls in einer JarFile (TestProjekt.jar). nun habe ich im JarFile (TestProjekt.jar) das JarFile(TestPackage.jar) mit reingepackt und will auf die desen klassen über reflection zugreifen. aber wie geht das? habs schon mit dem URLClassLoader versucht:
Code:
String klasse = "wako.java.utils.Debug";
URL u = new URL("jar:file://D:/packages/TestProjekt.jar!/TestPackage.jar!/");
URLClassLoader urlcl = new URLClassLoader(new URL[]{u});
Class s = Class.forName(klasse,true,urlcl);
Method mm = s.getMethod("showDebug",new Class[]{String.class});
mm.invoke(s.newInstance(),new Object[]{"\nEs geht"});
muss ich denn classpath mässig was in der manifestdatei festlegen? wenn ja was? meine manifestdatei sieht so aus:
MANIFEST:
Manifest-Version: 1.0
Ant-Version: Apache Ant 1.6.2
Created-By: 1.4.2_05-b04 (Sun Microsystems Inc.)
Main-Class: wako.test.main.TestProjekt (die ist in Test Projeckt.jar)
Das JarFile TestProjekt.jar hat folgenden inhalt:
META-INF
Wako/test/main/TestProjekt.class
TestPackage.jar
Folgende fehlermeldung kommt halt immer:
java.lang.ClassNotFoundException: wako.java.utils.Debug
at java.net.URLClassLoader$1.run(URLClassLoader.java:199)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:187)
at java.lang.ClassLoader.loadClass(ClassLoader.java:289)
at java.lang.ClassLoader.loadClass(ClassLoader.java:235)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:302)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:219)
at wako.test.main.TestProjekt.main(TestProjekt.java:31)
bräuchte echt dringent hilfe, da ich es in einem richtiges projekt nutzen wöllte, falls es überhaupt möglich ist
danke wako