2013-03-06 9 views
6

W Eclipse można ustawić opcję -D, aby uwzględnić {} zmienne zdefiniowane gdzie indziej w ustawieniach IDE. IntelliJ wydaje się udostępniać tę funkcję Zmienne ścieżki. Jeśli jednak zastosujesz się do swoich dokumentów pomocy, powinieneś móc odwoływać się do tych zmiennych między $ dollar_characters $. Dalsze badania zdają się wskazywać, że odnosi się to tylko do wnętrza plików projektu, a wymiana odbywa się w czasie kompilacji.Korzystanie z zmiennych ścieżki IntelliJ, jak ustawić właściwości systemu na serwerze Tomcat Uruchom konfigurację?

Próbuję utworzyć konfigurację serwera współdzielonego, w której kilka właściwości systemu może zostać zamienionych przez innych deweloperów, ale ten ma mnie zakłopotany.

Odpowiedz

4

Po wielu czołowych badań nad pozornie niepowiązanych spraw, zacząłem uzyskać większy obraz, jak to osiągnąć:

  1. Ustaw twoi Path Zmienne jak potrzebne.
  2. Utwórz swoją konfigurację Run, którą chcesz udostępnić i sprawdzić pole wyboru Udostępnij.
  3. Wprowadź kody pośredniczące (tj. -Dsystem.property="variable here") w poluVM opcje konfiguracji.
  4. Znajdź swoją konfigurację w .idea/runConfigurations i zamień kody pośredniczące w $PATH_VARIABLE$, umieszczając je wewnątrz cudzysłowu, jeśli wartość będzie zawierać spacje.
  5. Ponownie otwórz ekran konfiguracji Edytuj konfigurację dla konfiguracji Uruchomienie i zauważ, że rozszerzenie zmiennej się udało. Nawet lepiej, sprawdź to i poproś współpracownika, by to sprawdził (po ustawieniu własnych Zmian Ścieżkowych) i zauważ, że zmienne rozszerzenie działa z niestandardowymi wartościami .

Uwaga: Może wydawać się, że powinieneś być w stanie umieścić te $PATH_VARIABLES$ bezpośrednio do tych ekranów konfiguracyjnych, ale wydaje się tylko do pracy, jeśli już edytować pliki XML bezpośrednio.

9

Możesz bezpośrednio ustawić opcje maszyny wirtualnej w oknie konfiguracji serwera uruchamiania/debugowania serwera Tomcat, dodając je do pola wejściowego Opcje maszyny wirtualnej. Możesz bezpośrednio umieścić w swoim polu -Dcustom_property=value, a następnie uzyskać do niego dostęp przez System.getProperty("customer_property").

+0

Myślę, że masz na myśli System.getProperty ("custom_property"), ale nie "customer_property" –

2

Joel Wilson, dziękuję za eksplorację użycia $ PATH_VARIABLES $ w konfiguracjach IntelliJ.

Aby upiększyć swoje odkrycie; Dowiedziałem się, że jeśli plik konfiguracyjny zmieni się w systemie plików, zostanie ponownie załadowany przez IJ wtedy ($ PATH_VARIABLES $ się rozwinąć). Jednak jeśli wprowadzisz zmianę w preferencjach IJ, nie zostanie to zrobione.

Ale jeśli touch ~/IntelliJ/yourProject/.idea/runConfigurations * .xml

to wystarczy, aby mieć swoje konfiguracje przeładowane.
Dowiedziałem się również, że jeśli zamkniesz i ponownie otworzysz IJ, to one również zostaną automatycznie wyekspediowane.

A jeśli na nie spojrzysz.xml, rozszerzone wartości nigdy nie są przechowywane. Ekspansja odbywa się za każdym razem, gdy ładujesz IJ, lub zmieniasz pliki.

Podsumowując, jeśli chcesz udostępnić wspólne konfiguracje w repozytorium - a następnie ustawić zmienne użytkownika w zmiennych IJ PATH - możesz i będą one automatycznie rozwijane.

Jeśli zmienisz zmienne PATH, nowe wartości będą zawierać zmodyfikowaną zawartość PATH_VARIABLE.

Jeśli przyjrzeć się plikom na poziomie systemu operacyjnego, zmienne zostaną zachowane. Ale jeśli spojrzysz w edytorze konfiguracji, podświetlone tam wartości zawsze się tam pokażą (więc nie możesz bezpośrednio zobaczyć, że użyli zmiennej). Najlepiej popatrzeć na plik systemu operacyjnego. jim

+0

Co robi polecenie dotyku, aby IntelliJ ponownie załadował konfiguracje? –

+0

Właśnie zobaczyłem to 9-10 miesięcy później. Przepraszam za spóźnioną odpowiedź. Wygląda na to, że zmiana atrybutu pliku spowoduje przeskok do IntelliJ, aby ponownie załadować plik, ponieważ został zmieniony w systemie operacyjnym. To na komputerze Mac, nie testowałem w systemie Windows. –

Powiązane problemy