Klasse laden

Status
Nicht offen für weitere Antworten.

thE_29

Top Contributor
Hi!

Hab ein älteres Beispiel gefunden mit dem ClassLoader und zwar jenes
Code:
URL[] myLoacations=new URL[]{new URL("file:/temp")};
   ClassLoader loader=new URLClassLoader(myLoacations);
   Class aClass=loader.load("de.test.Hallo",true);

1. gibts bei mir kein load, sondern nur loadClass(String);

Aber mein größeres Problem ist, das er es trotzdem nicht lädt!

Also mein Hauptprogramm ist im package at.dstore.LoginProc bzw at.dstore.Menu

was ich aufrufen will hat immer hinten eine andere Endung at.dstore.logv.LogViewer (wobei LogViewer die HauptKlasse ist) oder at.dstore.kasturz.KassaSturz , usw

Wenn ich im Menu (package at.dstore.menu) jetzt sage

Code:
          Class clazz = LogViewer.class;
          Class[] formparas = new Class[4];
          formparas[0] = GraphicsConfiguration.class;
          formparas[1] = Stack.class;
          formparas[2] = PosMenu.class;
          formparas[3] = ControlLogging.class;
          Constructor cons = clazz.getConstructor(formparas);
          //Aktuelle Argumente definieren
          Object[] actargs = new Object[] { param1,param2,param3,param4};
          Object obj = cons.newInstance(actargs);
Geht das nicht, er sagt mir er findet die Klasse nicht!

Mache ich aber das danach oder davor findet er die Klasse
Code:
LogViewer logv = new LogViewer(param1,param2,param3,param4);
.... // obriger Code

Dann funktioniert auch alles einwandfrei!

Also muss ich die Klasse zuvor irgendwie laden nur das schaffe ich halt net

es liegt im Verzeichnis
C:\develop\kunden\billa\bo\apps\LogViewer (weiter würde es gehen mit classes\at\dstore\logv\)
usw

Wie muss ich das jetzt laden damit das auch funktioniert?
Hab gesagt
Code:
          URL[] myLoacations=new URL[]{new URL("file:c:\\Develop\\Kunden\\Billa\\BO\\apps\\LogViewer\\classes\\at\\dstore\\logv")};
          ClassLoader loader=new URLClassLoader(myLoacations);
          Class aClass=loader.loadClass("at.dstore.logv");
Bekomme da aber eine ClassNotFoundException

Kann mir jemand helfen, bzw hat sich jemand schon mit sowas beschäftigt??
MfG
 

thE_29

Top Contributor
Juhu!

Habs zum Laufen geschafft ;)

Tja, durch probieren geht halt alles :p


Ich packe aber meine ganzen Klassen ins JAR Verzeichnis!

Weiß jemand von euch wie ich auf die zugreifen muss? Also die Klassen im Jar Verzeichnis?


PS.: So Gings

Code:
          File file = new File("c:\\Develop\\Kunden\\Billa\\BO\\apps\\LogViewer\\classes"); //hier möchte ich nun ins Jar File greifen!
          URL url = file.toURL();
          URLClassLoader urlcl = new URLClassLoader(new URL [] {url});
          Class clazz = urlcl.loadClass("at.dstore.logv.LogViewer");
 
B

bygones

Gast
ähm - willst du eine Klasse dynamisch laden ?
Dann nehm doch
Code:
Class clazz = Class.forName(action);
wobei action dann "at.dstore.logv.LogViewer" (also als String) sein würde z.b
 

thE_29

Top Contributor
jo, wenn das gehen würde, wäre ich ja froh, nur geht das net!
bekomme immer classnotfoundexception

was weiß ich warum, aber mit dem Verzeichnis laden hab ichs jetzt geschafft, wills nur noch ausm Jar File laden!
 
B

bygones

Gast
???:L also folgendes klappt bei mir:

ich habe mein Menu für eine GUI in einem xml file stehen - das schaut etwa so aus:
Code:
<menuBar>
 <menu name="Hubert" short="h">
	<menuEntry id="0" name="aber1" short="a" toolBar="" seperator="">
		<key>control A</key>
		<icon>Appointments.gif</icon>
		<action>de.groscurth.MenuReader.test.TestAction</action>
		<actionParam>1</actionParam>
		<enable>1</enable>
	</menuEntry>
	<menuEntry id="1" name="aber2" short="a" enable="1">
		<key>control A</key>
		<disable>1</disable>
	</menuEntry>
 </menu>
</menuBar>
das liest bei mir eine Klasse ein und erstellt daraus eine JMenuBar.
die Klasse im Tag <action> ist die Action zu dem Menueintrag.
Die Klasse die das einliest sieht in Ausschnitten so aus:
Code:
Class clazz = Class.forName(action);
			if (null == actionParam) {
				menuItem.addActionListener((ActionListener) clazz.newInstance());
			}
			else {
				Object[] args = actionParam.split(" ");
				Class[] params = new Class[args.length];
				for (int i = 0; i < params.length; i++) {
					params[i] = Object.class;
				}
				Constructor cons = clazz.getConstructor(params);
				menuItem.addActionListener((ActionListener) cons.newInstance(args));
			}
so kann ich dynamisch eine Klasse laden bei einfachem Angeben des kompletten package pfades - und das klappt beim "normalen" start wie auch in einem jar !
 

thE_29

Top Contributor
fürs laden der klasse

schau ob du da irgendwie pfade zurückbekommen kannst!

Ich muss ja nur das Verzeichnis laden, weil er mir immer sagt er findet es nicht!

Also wird der Pfad nicht passen mit dem ich ihn suchen lasse! Vielleicht hast du ja was anderes ;)
 

thE_29

Top Contributor
so, glaub hab jetzt das Problem rausgefunden!


Weil der Idiot hängt den nicht ins Jar File, bei ner Kollegin hängt er den LogViewer ins Jar File!

Bei mir nicht! Warum weiß ich aber nicht, aber wenn ich andere Klassen einfach nehme und sage Class.forName("BLABL"); findet er sie, weil sie ja im jar file hängen!

Möcht blöß wissen warum er mir genau den nicht reinhängt!


EDIT2:

Das ist dieser JBuilder!

Der JBuilder baut dir die anderen jar Files wenn du sie im Programm nirgends brauchst! Also sprich keinen Konstruktor oder eine Funktion von der Klasse verwendest, nicht ins jar file!

Der Schuft der!


Weiter Frage, kann ich eine Klasse aus einem Jar File laden??

Also File f = new File("C:\\file.jar");
und wie lade ich da jetzt meine at.dstore.logv.LogViewer klasse raus? ???:L
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Klassen Klasse Dynamisch laden und Konstruktor aufrufen Allgemeine Java-Themen 1
N Klasse via ClassLoader laden Allgemeine Java-Themen 2
M Klasse aus xyz.class Datei laden / package entfernen? Allgemeine Java-Themen 4
F Klasse ohne voll qualifizierenden Namen laden Allgemeine Java-Themen 5
N verschiedene Klasse laden (Designfrage) Allgemeine Java-Themen 2
reibi Klassenpfad mal anders - dynamisches Laden einer Klasse Allgemeine Java-Themen 7
L Zur Laufzeit eine Klasse laden, die auf jar-File zugreift Allgemeine Java-Themen 15
P Klasse über eigenen Classloader laden: SecurityException Allgemeine Java-Themen 11
P Klasse Dynamisch laden und zurückgeben Allgemeine Java-Themen 17
X Klasse aus Jar Archiv laden Allgemeine Java-Themen 3
M Beim Laden einer Klasse implizit weitere Klassen mitladen Allgemeine Java-Themen 3
P Klasse aus Jar File laden Allgemeine Java-Themen 13
E Klasse aus externer Class in JAR laden Allgemeine Java-Themen 6
Jens Hibbeler Klasse Laden, aber wie? NoClassDefFoundError? Allgemeine Java-Themen 3
M Methodenübersicht einer Klasse einsehen Allgemeine Java-Themen 14
Jose05 Java-Klasse im extra cmd-Fenster ausführen Allgemeine Java-Themen 3
torresbig Klasse mit extends Calendar über Methoden ändern (Hirnblockade) Allgemeine Java-Themen 7
A Zweite Service Klasse beim Kompilieren Allgemeine Java-Themen 6
B Ein Objekt einer Klasse mehreren anderen Klassen zur Verfügung stellen? Allgemeine Java-Themen 6
Atten007 Java-Klasse auf macOS entpacken? Allgemeine Java-Themen 2
M Klasse durch Klassen Aufteilung verbessern, aber wo? Allgemeine Java-Themen 1
E Eine Methode einer extendeten Klasse deakitivieren Allgemeine Java-Themen 12
H Kombination Interface und Abstrakte Klasse bei Generics Allgemeine Java-Themen 3
EinNickname9 Best Practice Singleton und Singleton mit Instanz zu anderer Klasse -Pattern Allgemeine Java-Themen 30
Y ImagePanel von anderer Klasse in eine MainFrame Klasse hinzufügen. Allgemeine Java-Themen 1
Lukas2904 Schleife mit ansteuerung einer Klasse Allgemeine Java-Themen 5
d.lumpi Aus Einer Klasse auf ein Objekt einer anderen Klasse Zugreifen Allgemeine Java-Themen 1
missy72 Klassen Eigene Klasse MessageWindow ähnlich der Alert Klasse Allgemeine Java-Themen 2
Drachenbauer wie kann ich alle instanzen einer Klasse durchsehen, ohne, dass diese in einer Liste erzeugt wurden? Allgemeine Java-Themen 11
kanywayne Java programmieren: Polynom Klasse Allgemeine Java-Themen 4
L Die abzuleitende Klasse als Parameter übergeben Allgemeine Java-Themen 4
S Klassen Einfügen von unbekannter menge an Variablen in eine Klasse mithilfe von ASM Allgemeine Java-Themen 5
C Klasse mit Mockito simulieren Allgemeine Java-Themen 9
P einen public <Optinal String> in einer anderen Klasse mit einem Int vergleichen Allgemeine Java-Themen 2
S Wenn eine Klasse zwei Interfaces mit derselben Methodensignatur implementiert: welche wird aufgerufen? Allgemeine Java-Themen 15
Thallius Key/Value Table in Klasse einlesen Allgemeine Java-Themen 14
S static in Interface und Klasse Allgemeine Java-Themen 2
W Was genau sind IOTools? Kann ich stattdessen nicht die Scanner Klasse verwenden? Allgemeine Java-Themen 3
V Threads Probleme beim Aufrufen von Methoden einer anderen Klasse (Threads) Allgemeine Java-Themen 14
X Collections Gibt es eine Klasse welche die Vorteile von List und HashMap vereint, aber konstante Laufzeit (O(1)) hat in Java? Allgemeine Java-Themen 4
D javassist API Klasse in MethodCall ermitteln Allgemeine Java-Themen 8
kodela Klasse mit "gezipten" Daten Allgemeine Java-Themen 6
J Builder Klasse mit Lombok bauen Allgemeine Java-Themen 2
L Operatoren Java Reflections: Alle Methoden einer Klasse aufrufen ohne Exceptions Allgemeine Java-Themen 5
M [SOAP] - Klasse aus WSDL ausschließen Allgemeine Java-Themen 2
N Generic Type einer Generischen Klasse während der Laufzeit bekommen Allgemeine Java-Themen 2
X Klassen Klasse BreakIterator Allgemeine Java-Themen 6
R Arraylist in andere Klasse leiten und bearbeiten Allgemeine Java-Themen 10
kodela Klassen Klasse "vergisst" ihre Daten Allgemeine Java-Themen 2
pkm Kann eine ServerSocket-Klasse nicht stateful sein? Allgemeine Java-Themen 4
E Socket Dynamische Klasse von ObjectOutputStream lesen. Allgemeine Java-Themen 8
M Matcher-Klasse findet match nicht Allgemeine Java-Themen 6
cool_brivk24 Variablen abfragen von Boolean von anderer Klasse Allgemeine Java-Themen 12
S Seltsames Ergebnis mit Date-Klasse Allgemeine Java-Themen 6
J int Werte in einer anderen Klasse in Arrays speichern Allgemeine Java-Themen 3
D Warum kann ich eine (deflaut) Klasse aus einer Libary in einem anderen Projekt benutzen? Allgemeine Java-Themen 3
Neoline Klassen Singleton Klasse buchmanager Allgemeine Java-Themen 19
M Kapselung Modellierung von Intervallen: Klasse Interval Allgemeine Java-Themen 4
B Übernommene Variablen(werte) aus der Main-Klasse ändern? Allgemeine Java-Themen 9
ReinerCoder Klasse kann nicht public deklariert werden Allgemeine Java-Themen 2
ReinerCoder Methode einer Klasse meldet Fehler "misplaced construct(s)" Allgemeine Java-Themen 13
I Collection - contains-Methode überschreiben (anonyme innere Klasse) Allgemeine Java-Themen 4
X Klassen File-Klasse wird als Directory markiert Allgemeine Java-Themen 8
S Methoden Liste soll Methode aus innerer Klasse aufrufen Allgemeine Java-Themen 4
J IndexOutOfBoundsException bei der Nutzung der Klasse Message von mime4j Allgemeine Java-Themen 5
P Array einer abstrakten Klasse Allgemeine Java-Themen 4
J Zugriff auf erstellte Objekte einer Klasse von einer Klasse ausserhalb Allgemeine Java-Themen 3
kodela Dynamisches Array in einer Klasse Allgemeine Java-Themen 5
M Was geschieht mit Java-Klasse, die aus ArrayList entfernt wird? Allgemeine Java-Themen 10
perlenfischer1984 Lombok Builder soll andere Klasse bauen Allgemeine Java-Themen 4
perlenfischer1984 Mit Lombok Builder Felder in Super Klasse füllen Allgemeine Java-Themen 12
T String aus While Schleife für ganze Klasse sichtbar machen Allgemeine Java-Themen 5
K Best Practice Auf die Klasse zugreifen im erzeugten ActionListener Allgemeine Java-Themen 2
K Mit Button neue Klasse öffnen Allgemeine Java-Themen 9
J Reflection mit Klasse und Subklasse Allgemeine Java-Themen 11
C Classpath Neue Klasse über einen Button ausführen Allgemeine Java-Themen 3
magdaStone Logikproblem Umschalten von booleans in anderer Klasse Allgemeine Java-Themen 7
P mehrer Verschiedene Objekte in einer Klasse erstellen. Allgemeine Java-Themen 4
A Java Klasse auf Tomcat während der Laufzeit austauschen Allgemeine Java-Themen 1
C Abstrakte Klasse, lokale Variable-Problem Allgemeine Java-Themen 1
N Vererbung Design-Problem mit vorhandenen, von der Klasse unabhängigen Methoden Allgemeine Java-Themen 12
Messoras Klassen Sämtliche Variablen einer Klasse übernehmen Allgemeine Java-Themen 6
H Methoden Methode 'updateItem' der Klasse 'TreeCell' Allgemeine Java-Themen 3
B Animierte Klasse schreiben - Wie? Allgemeine Java-Themen 9
M Klassen Eine Klasse in mehreren Klassen einbinden Allgemeine Java-Themen 11
N Methoden Methoden einer Klasse auf Grundlage eines Strings aufrufen Allgemeine Java-Themen 6
AssELAss Log4j Logging Ausgabe für jede Klasse in seperates File Allgemeine Java-Themen 2
L Eclipse JavaFX Klasse starten programmatisch Allgemeine Java-Themen 1
F Try/catch über ganze Klasse Allgemeine Java-Themen 9
L Von ArrayList abgeleitete Klasse nur mit bestimmten Objekten füllen Allgemeine Java-Themen 1
so_ein_Komischer Erste Schritte java Math Klasse finden? Allgemeine Java-Themen 2
J beans.instantiate(): Klasse kann nicht instanziiert werden Allgemeine Java-Themen 2
I Interface Interface / Klasse - wieso Abstract? Allgemeine Java-Themen 13
R Abstrakte Basisklasse und instanzierte Objekte der abgeleiteten Klasse als Basisklasse übergeben Allgemeine Java-Themen 2
F Methodenaufruf mit abgeleiteter Klasse als Arg... Allgemeine Java-Themen 10
M Klasse in separaten Thread ausführen.Wie genau? Allgemeine Java-Themen 2
A Best Practice Unterschied zwischen einer sauberen Dependency Injection und einer statischen Klasse Allgemeine Java-Themen 5
F Methoden in der Enumeration Klasse Allgemeine Java-Themen 1
S Die Initialisierung von Feldern in ableitender Klasse erzwingen..? Allgemeine Java-Themen 16
S Mit Generics Klasse erstellen die selbst T erweitert..? Allgemeine Java-Themen 4

Ähnliche Java Themen

Neue Themen


Oben