Zum Inhalt springen

Lösungswege für Classpath-Problem


Empfohlene Beiträge

Geschrieben

Hallo,

folgendes Szenario: Ich habe mehrere Versionen einer Anwendung, die ich in java über eine schon bereitgestellte Klasse aufrufen kann.

Also z.B.

c:\ver1\class.jar - in c:\ver1\runtime\ liegen dann die dlls

und

c:\ver2\class.jar - in c:\ver2\runtime\ liegen dann die dlls

In meiner Java-Anwendung rufe ich eine Methode aus der class.jar auf, welche wiederum mit den dlls in dem runtime Verzeichnis kommuniziert. Der Source-Code der class.jar liegt mir leider nicht vor.

Also,

ich starte nun in einem batch-File meine Java-Anwendung - vorher setze ich den Classpath mit set path = %path%;C:\v11\class.jar;C:\ver1\runtime\

auf die ver1.

Die class jar wird auch gefunden und geladen - aber beim Aufruf der dll-Dateien werden diese nicht gefunden, da das runtime-Verzeichnis nicht im globalen Pfad liegt. Wenn ich mir den aktuellen Java Lib Path ausgeben lasse, steht sowohl das jar-Verzeichnis als auch das Runtime-Verzeichnis drin.

Eine Lösung ist natürlich, je nachdem welche Version ich benutzen will, den globalen Classpath im System zu ändern - dann funktioniert auch alles.

Meine Frage: Geht es auch dynamisch?

- kann ich den globalen Classpath des Systems dynamisch in Java ändern?

- falls ich einen eigenen Classloader benutze und dort die Pfade hinzufüge - könnte es funktionieren? Ich bin da skeptisch, da es ja um die Kommunitkation zwischen Dll und jar geht.

Falls es jemanden weiterhilft: Es geht im Grunde genommen darum, dynamisch verschiedene MCRs (Matlab Component Runtimes) zu benutzen.

Freue mich über Tipps :)

Geschrieben

Danke für den Tipp.

Mein Problem ist nur: Ich würde das setzen des Classpaths gerne dynamisch hinbekommen - der Code wird also ausgeführt und macht irgendwas, bis ein Algorithmus ausgeführt werden soll. Es wird nun in einer Datenbank ausgelesen, für welche Version dieser Alg. entwickelt worden ist - und dann dementsprechend der (globale?) Classpath gesetzt. Das wäre meine Wunschvorstellung.

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...