Zum Inhalt springen

Umgebungsvariablen - Sichtbarkeiten


daTom

Empfohlene Beiträge

Hallo,

der Kunde wünscht, dass meine Applikation (Java Applikation) durch eine Executable zu starten ist. Es handelt sich um eine RCP-Anwendung, die mit Eclipse entwickelt worden ist.

Soweit ich weiß bietet Eclipse so einen "Executable Generator" an, allerdings habe ich folgendes Problem:

Unsere Applikation braucht einen speziellen Eintrag als Umgebungsvariable (Pfad zu einem anderen Produkt von uns). Dieser Pfad muss auch in der PATH-Variable stehen. Zur Zeit starten wir die Applikation mit Hilfe einer Batch-Datei, wo diese Einträge vorher mittels "SET" gesetzt wird.

Die Einträge dürfen wir nur "temporär" vornehmen, d.h. sie dürfen nur für diesen Prozess gültig sein.

Es ist ja nun kein Problem so eine Executable zu schreiben, aber wenn ich diese Variablen in der Exe setze, kann meine Applikation diese gar nicht "sehen", da dies doch dann wieder ein eigenständiger Prozess ist, oder?

Hat jemand einen Tipp für mich, wie ich das am besten lösen könnte (wenn ich mit meiner Annahme oben richtig liege)

Gruß

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo,

wenn Ihr die Variablen nur temporär setzen dürft, warum verwendet Ihr für Anwendung keine globale Konfiguration (XML, INI o.ä.).

Damit hättest Du zentral die Daten stehen und kannst von jedem Programm (z.B. JRE) auf diese zugreifen, persönlich würde ich da die Konfig für jeden Benutzer unter seinem Home anlegen.

HTH Phil

Link zu diesem Kommentar
Auf anderen Seiten teilen

Der Gedanke ist mir auch schon gekommen.

Allerdings ist diese Variable zwingend notwendig, damit das Zusammenspiel zwischen den beiden Applikationen überhaupt funktioniert.

Frag mich jetzt bitte nicht nach Sinn- oder Unsinn des ganzen, ich hab da leider keinen Einfluss drauf :-)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Kannst Du vielleicht mal ein paar Infos mehr posten. Mir fällt jetzt zu Java nur der CLASSPATH ein, der aber global gesetzt sein sollte.

Evtl solltest Du von den Umgeungsvariablen weg, vielleicht zur Übergangsphase es so kodieren, wenn Umgebungsvariable nicht da, dann versuchen die Konfig zu lesen, wenn Variable da, dann verwenden.

Wenn Du mit "SET" aus einer Batchdatei die Variable setzt, dann bleibt sie so lange erhalten, so lange, so lange die Batchdatei ausgeführt wird (ist ja ein Command-Prompt). In Unix kann ich das analog machen, wenn ich nun aus dem Prompt 2 Programme dann sieht das Shellscript bei mir so aus:


BLUB="a:b:c"

export BLUB


meinprogramm1 &

meinprogramm2 &

Über den Suffix "&" werden dann beide Programme gestartet, d.h. Programm 1 wird gestartet und in den Hintergrund "verschoben", sonst müsste ja das Programm erst beendet werden, bevor 2 starten kann.

Ich bin mir jetzt nicht so ganz sicher, ob das so exakt funktioniert und auch unter Windows ähnlich realisierbar ist.

Evtl aber mal danach suchen

Phil

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ok, sorry für die spährlichen Angaben.

Vielleicht zu aller erst: Das ganze hier bezieht sich rein auf eine Windows-Umgebung. Deswegen hab ich ja auch den Windows-Bereich gewählt :D

Die Java-Applikation arbeitet mit einer C++-Applikation zusammen.

Die C++-Applikation stellt Dienste zur Verfügung um auf bestimmten Geräten Dienste auszuführen und Informationen auszulesen zu können.

Damit andere Applikationen (also meine Java-Applikation) mit der C++-Applikation zusammenarbeiten kann, schreibt diese halt vor, dass eine bestimmte Umgebungsvariable existieren muss, die den Pfad zu dieser C++-

Applikation beinhaltet (wie gesagt, der Sinn dahinter ist mir selber nicht klar)

Über den bisherigen Weg mit der Batch-Datei ist dies kein Problem, hier wird temporär (also für den Prozess der Batch-Datei) diese Variable gesetzt und zeitgleich auch die Java-Applikation gestartet.

Wenn ich die ganzen Befehle aber jetzt in eine Executable integriere, funktioniert es bei mir anscheinend nicht.

Daraus folgere ich, dass hier vielleicht die Sichtbarkeiten anders sind.

Hoffe es ist jetzt etwas verständlicher :)

Link zu diesem Kommentar
Auf anderen Seiten teilen

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...