Zugriff auf Variable in anderem Programm

javanese2018

Mitglied
Hallo zusammen,
Ich habe das Problem, dass ich auf eine statische Variable in einem anderen Programm zugreifen will. Kennt sich jemand damit aus?

Danke im Voraus 🙂
 
Was meinst du denn mit "einem anderen Programm"?
Du meinst einen separaten Betriebssystemprozess, der per java Launcher gestartet wurde und somit ein Java/JVM-Programm ausführt und jetzt willst du mit einem anderen Prozess/Programm ein statisches Feld einer in dem anderen Programm in der JVM geladenen Klasse zugreifen?
Das ist zum Beispiel mit dem Java Debug Wire Protocol möglich, wenn du das andere Programm mit einem Debug-Agent gestartet hast. Alle IDEs implementieren das und bieten üblicherweise Remote Debugging Möglichkeiten oder "Attach to Process Debugging" an.
Eine andere Möglichkeit besteht mit Hilfe von Java Agents und der VirtualMachine Attach API (Oracle HotSpot spezifisch). Das ist aber einigermaßen involviert.
 
Naja, eigentlich ist es so, dass ich ein JavaProject und eine ANTLR Grammatik habe, welche über eine LinkSource miteinander verbunden sind. Nun möchte ich von der ANTLR Grammatik aus auf eine statische Variable in dem JavaProject zugreifen (aus einem Visitor).
 
Ich habe nicht die geringste Ahnung, was du mit "JavaProject", "LinkSource" und "verbunden" genau meinst.
Aus einer ANTLR Grammatik können der entsprechende Parser und die nötigen Visitor-Basisklassen mit dem antlr4 Tool generiert werden. Diese sind dann wieder Java-Code und du solltest wissen, wie man per Java Code auf ein Feld in einer Klasse zugreifen kann. Falls du damit eventuell Probleme hast, zeig mal den Code, den du bisher hast und wo du auf das statische Feld genau zugreifen willst und warum das wohl nicht geht.
 
Das Hauptprogramm bildet das JavaProject und dazu gibt es eine ANTLR Grammatik, welche ihren Input, also den umzuwandelnden Code von dem JavaProject bekommt. Nun möchte ich von dem Visitor in der Grammatik aus eine static-Variable in einer Klasse des JavaProjects aufrufen, um einen wichtigen Wert zu bekommen. Diese bilden jedoch zwei verschiedene einzelne Projekte, welche nur über eine LinkSource (eine Art von Verbindung in Eclipse) verbunden sind. Leider kann ich kein Beispiel zeigen, da das Programm bereits sehr umfangreich ist. Ich hoffe du verstehst es nun ein wenig besser. Falls nicht bin ich offen für weitere Fragen 🙂.
 
Und wenn du dein Javaprojekt als Jar packst und in das andere als Abhängigkeit importierst? Dann müsstest du die Klassen und somit auch die Variablen des Programms nutzen können.
 

Neue Themen


Zurück
Oben