2013-03-06 7 views
6

In Eclipse könnten Sie die -D-Optionen so einstellen, dass sie {} Variablen enthalten, die an anderer Stelle in Ihren IDE-Einstellungen definiert wurden. IntelliJ scheint diese Funktion mit Pfadvariablen bereitzustellen. Wenn Sie jedoch ihren Hilfedokumenten folgen, sollten Sie in der Lage sein, diese Variablen zwischen $ dollar_characters $ zu referenzieren. Weitere Untersuchungen scheinen darauf hinzuweisen, dass dies nur für das Innere Ihrer Projektdateien gilt und der Austausch während der Bauzeit erfolgt.Verwenden von IntelliJ-Pfadvariablen, Festlegen der Systemeigenschaften im Tomcat-Server Ausführen der Konfiguration?

Ich versuche, eine gemeinsam genutzten Server-Konfiguration, bei der ein Paar der Systemeigenschaften zu schaffen, die von den anderen Entwicklern ausgetauscht werden, aber dies hat mich ratlos.

Antwort

4

Nach viel zu graben und der Erforschung von scheinbar nicht miteinander verbundenen Fragen, begann ich ein größeres Bild davon, wie dies zu tun zu bekommen:

  1. Stellen Sie Ihr Pfadvariablen nach Bedarf.
  2. Erstellen Sie Führen Sie die Konfiguration aus, die Sie teilen möchten, und aktivieren Sie das Kontrollkästchen Freigabe.
  3. Setzen Sie die Stubs (d. H. -Dsystem.property="variable here") in die VM-Optionen Feld Ihrer Konfiguration.
  4. Finden Sie Ihre Konfiguration in .idea/runConfigurations und ersetzt die Stümpfe mit $PATH_VARIABLE$, sie innerhalb von Anführungszeichen setzen, wenn der Wert Leerzeichen enthalten wird.
  5. Öffnen Sie erneut die Bearbeiten Sie die Konfiguration Bildschirm für Ihre Run-Konfiguration und beachten Sie, dass die Variablenerweiterung erfolgreich war. Noch besser ist, überprüfen Sie sie in und hat einen Kollegen, check it out (nach ihrem eigenen Pfadvariablen Einstellung) und beachten Sie, dass die variable Erweiterung arbeitet mit ihren benutzerdefinierten Werten.

Hinweis: Es mag wie sollten Sie in der Lage sein, jene $PATH_VARIABLES$ direkt in diese Konfigurationsbildschirmen zu setzen, aber es scheint nur zu funktionieren, wenn Sie die XML-Dateien bearbeitet haben direkt.

9

Sie können direkt Ihre VM-Optionen auf den Tomcat Server Run/Debug-Konfigurationsfenster festlegen, indem es auf das VM-Optionen Eingabefeld hinzufügen. Sie können Ihre -Dcustom_property=value direkt in dieses Feld eingeben und dann über System.getProperty("customer_property") darauf zugreifen.

+0

Ich denke, Sie meinen System.getProperty ("custom_property"), aber nicht "customer_property" –

2

Joel Wilson, Dank für Ihre Exploration in IntelliJ Konfigurationen $ PATH_VARIABLES $ auf verwenden. Um

zu verschönern Ihr ein wenig zu finden; Ich habe herausgefunden, dass wenn eine Konfigurationsdatei im Dateisystem geändert wird, sie sofort von IJ neu geladen wird ($ PATH_VARIABLES $ wird erweitert). Wenn Sie jedoch die Änderung in den IJ-Einstellungen vornehmen, wird dies nicht durchgeführt.

Aber wenn Sie: touch ~/IntelliJ/IhrProjekt/.idea/runConfigurations * .xml

das genug ist Ihre Konfigurationen neu geladen zu haben.
Ich fand auch heraus, dass, wenn Sie IJ schließen und wieder öffnen, dass diese zu dieser Zeit auch autoexpanded werden.

Und wenn Sie diese betrachten.XML-Dateien werden die erweiterten Werte nicht gespeichert. Die Erweiterung geschieht jedes Mal, wenn Sie IJ laden oder die Dateien ändern.

Endergebnis, wenn Sie gemeinsame Konfigurationen in einem Repo teilen möchten - und dann die Benutzervariablen Stuff in IJ PATH Variablen einrichten - Sie können und sie werden automatisch erweitert.

Wenn Sie die PATH-Variablen ändern, enthalten die neuen Werte den geänderten PATH_VARIABLE-Inhalt.

Wenn Sie die Dateien auf Betriebssystemebene betrachten, werden die Variablen beibehalten. Aber wenn Sie im Konfigurationseditor nachsehen, werden die ersetzten Werte immer dort angezeigt (Sie können also nicht direkt sehen, dass sie eine Variable verwendet haben). Am besten schauen Sie sich die OS-Datei dafür an.

+0

Was macht der Touch-Befehl, um IntelliJ die Konfigurationen neu laden zu lassen? –

+0

Ich sah dies nur 9-10 Monate später. Entschuldigung für die verspätete Antwort. Die Änderung des Dateiattributs scheint IngliJ dazu zu bringen, die Datei neu zu laden, seit sie sich im Betriebssystem geändert hat. Dies auf einem Mac, hat nicht auf Windows getestet. –

Verwandte Themen