Archiv verlassen und diese Seite im Standarddesign anzeigen : Classpath zur Laufzeit erweitern
wie kann ich den classpath, in dem nach zu ladenden klassen gesucht wird zur laufzeit erweitern?
wenn ich vor dem start meinen klasssenpfad um das verzeichnis erweitere, das ich benötige klappt es, wenn ich zur laufzeit mit System.setProperty("java.class.pat" neuerClasspath); setze, interessiert ihn das überhaupt nicht
hier noch mal ne genauere beschreibung meines problems:
here's what i want to archive:
i have a directory (not! the starting dir) containing classes
the location of that directory i don't know until runtime
the classes have to be accessible by the Class.forName("class").newInstance(); method
no, i can not write a classloader instead of the forName() <- this is fix
i tried with System.setProperty("java.class.path", newclasspath);
and with a classloader, that loads the classes, before the forName() method is invoked (i hoped forName() would find already loaded classes)
didn't work
i'm deeply thankful for every hint
tweakyou
17.09.2002, 18:29
... schau doch mal bei den Sourcen von Jakarta Ant nach, ich kann mir gut vorstellen dass du dort einen Lösungsansatz findest.
Original geschrieben von tweakyou
... schau doch mal bei den Sourcen von Jakarta Ant nach, ich kann mir gut vorstellen dass du dort einen Lösungsansatz findest.
thx, aber wie kommste drauf?
vielleicht noch nen tip, wo eventuell, sind ja immerhin knappe 4MB sourcen ;)
so mädels, falls es jemanden interessiert: ich habe das problem gelöst
eigenen classloader von ClassLoader abgeletet und mit dem aktuellen System-ClassLoader initialisiert
im eigenen ClassLoader dann mit defineClass, dem man die class datei als byte-array übergibt, eine instanz erzeugen
dann muss man nur noch Class.forName("bla", true, new MyClassLoader()); aufrufen und "schon" hat man die klasse ;)
aaah... okay ... ich hatte auch danach gesucht aber nichts gefunden... naja ich benutze meistens den jbuilder, der macht das beim compilieren automatisch :)
Original geschrieben von K21
aaah... okay ... ich hatte auch danach gesucht aber nichts gefunden... naja ich benutze meistens den jbuilder, der macht das beim compilieren automatisch :)
bringt dir aber auch nix, wenn du - wie erwähnt - den classpath zur compilier-zeit nicht weisst
und davon abgesehen herrscht IDEA im gegensatz zum jbuilder ;)
IDEA? naja weiss ich nicht, ich benutze entweder jbuilder6e (von der firma gestellt) oder editplus (privat erworben)
habe IDEA selbst noch nicht probiert allerdings freunde ich mich mit dem jbuilder immer mehr an...
bringt dir aber auch nix, wenn du - wie erwähnt - den classpath zur compilier-zeit nicht weisst
und zu .. kann ich nicht nachvollziehen... über den classpath muss ich mir wenn ich mit dem jbuilder compiliere zu keiner zeit gedanken machen, oder habe ich irgendwas nicht mitbekommen ?
vBulletin® v3.8.6, Copyright ©2000-2012, Jelsoft Enterprises Ltd.