Java: Wie kann ich ein Feld aus einer extern laufenden JAR-Datei auslesen?
Hey,
ich möchte ein externes Java-Programm schreiben, welches ein Feld (String) aus einer anderen laufenden JAR-Datei ausliest.
Kleines Beispiel:
Es gibt zwei Projekte. Das erste Projekt hat ein
public String author = 'IrgendEinAutor';
in der Main-Klasse "de.testprojekt.Main" und ich möchte jetzt mit Projekt 2 den Feldwert (via Runtime) auslesen.
Da ich weder im Internet noch mit KI`s irgendetwas erreichen konnte, frage ich nun hier.
MfG
1 Antwort
Verstehe ich richtig: du hast zwei laufende, getrennte JVM-Prozesse (das meinst du wohl mit „running JAR“) und willst, dass einer im anderen eine Java-Variable liest?
Das geht so einfach nicht. Allein schon, weil jedes Betriebssystem sowas erstmal unterbindet, wenn es nicht ausdrücklich erlaubt wird. Du musst einen der üblichen IPC-Wege verwenden, und keiner davon ist so einfach wie ein schlichter Variablenzugriff. Am ehesten kommt Shared Memory dorthin, aber das hat doch einige Fallstricke, wie die Synchronisierung.
Nicht ohne Grund verwendet man für die Kommunikation zwischen Prozessen (egal in welcher Sprache) meistens Sockets, also ein Netzwerkkonstrukt.
Was ist denn hier der Anwendungsfall? Suchst du einfach nur einen Debugger?