2013-04-02 39 views
12

Mam konfigurację uruchamiania w moim eclipse. W moim projekcie mamy dwie gałęzie: DEV i STABLE. Chciałbym utworzyć jedną konfigurację uruchamiania dla budowania mojego projektu bez względu na gałąź, w której się on znajduje.Jak stworzyć ogólną konfigurację uruchamiania za pomocą Eclipse?

Teraz, kiedy ustawić Base directory z jednym z tych dwóch zmiennych: ${project_path}, ${build_project}, I twarz następujący błąd:

katalog bazowy nie istnieje lub nie można go odczytać.

Działa to: ${workspace_loc:/my-project-dev-branch}, ale jest związane z konkretną gałęzią. Muszę zduplikować tę konfigurację do budowania stabilnego oddziału.

  • Jak więc wyświetlić rzeczywistą zawartość ${project_path}, ${build_project}?
  • Lub jakiej zmiennej należy użyć, aby uzyskać ten wynik: ${workspace_loc:/${eclipse_variable_with_project_name}}?

Odpowiedz

15

Nie jestem pewien, śledzę to jak gałęzie są reprezentowane w przestrzeni roboczej, ale

  • ${project_path} reprezentuje ścieżkę względem obszaru roboczego
  • ${build_project} zostaną ustawione tylko podczas rzeczywistego wykonania (nie podczas wykonywania programu)

W oparciu o twój opis, chcesz zamiast tego użyć ${project_loc}.

Nota: Projekt MUSI zostać wybrany w projekcie perspektywicznym przed uruchomieniem konfiguracji uruchamiania. W przeciwnym razie zostanie wyświetlony komunikat jak na poniższym zrzucie ekranu:

picture of Alert box popup with the text 'Launching MY RUN CONFIGURATION' has encountered a problem. Variable references empty selection: ${project_loc}'

+0

Oddziały znajdują się w oddzielnych projektach. Próbowałem '$ {project_loc}/$ {build_project}' bez powodzenia. – Stephan

+0

Używam również '$ project_loc' dla podobnej konfiguracji uruchamiania. Z jedną uwagą: takie konfiguracje można uruchomić tylko wtedy, gdy wybrany projekt jest wybrany w widokach Nawigator lub Eksplorator pakietów. Innymi słowy: najpierw wybierz projekt, a następnie uruchom konfigurację. – DRCB

+0

@Stephan - użyj tylko '$ project_loc', który da ci pełną lokalizację projektu zawierającego zasób, który wykonujesz. – Perception

0

Przede wszystkim, jeśli używasz git jako system kontroli wersji: Nie kasy projekt dwa razy, ale tylko przełączać między oddziałami w sposób pojedynczy projekt. Git został zaprojektowany do tego i może to zrobić w kilka sekund. W ten sposób twój problem zniknie całkowicie.

Jeśli nie jest to opcja, być może alternatywą jest umieszczenie konfiguracji uruchamiania pod kontrolą wersji. Ustaw współdzielona opcję Plik jak pokazano z pierwszym punktem kulminacyjnym: enter image description here

Następnie można uruchomić konfigurację uruchomione poprzez wybranie go w danym projekcie (jak to jest naprawdę plik istnieje) i uruchomić go za pomocą menu kontekstowego. Jednak nigdy nie próbowałem tego z tej samej konfiguracji uruchamiania wyewidencjonowany dwa razy.

+0

Co umieścisz w polu "Katalog bazowy"? – Stephan

2

Jak jesteś już tworząc String Substitution zmienną, poprzez Run Debug-> Zmiana smyczkowy preferencji Eclipse, aby uporać się z oddzielnych ścieżek, można albo:

  1. Tworzenie zmiennej, npbranch_loc, o wartości ${workspace_loc:/my-project-dev-branch}
  2. Jeśli ścieżki różnią się tylko nieznacznie, np. według nazwy oddziału, możesz utworzyć zmienną branch z wartością, np. dev, a następnie utworzyć branch_loc z ${workspace_loc}\${branch}

Następnie użyj ${branch_loc} dla Ciebie Maven katalogu bazowego.

Lepiej byłoby, gdyby wszystkie gałęzie używały tej samej ścieżki, co pozwala na to git i mercurial. Wtedy możesz użyć ${project_loc} do swojego katalogu podstawowego Maven. Dla project_loc, jeśli określisz nazwę projektu swojego projektu, np. ${project_loc:MY_PROJECT_NAME}, to nie wymaga wybrania projektu, aby działał.

Po kliknięciu prawym przyciskiem myszy na projekcie, a następnie wybraniu opcji Właściwości, można sprawdzić, do czego będzie się dążyć ${project_path}, patrząc na ścieżkę i co zostanie rozwiązane, patrząc na lokalizację.

+0

Jak jest wypełniany $ {branch}? – Stephan

+0

Dzięki preferencjom zamiany ciągów, w celu oddzielenia nazwy od nazwy lokalizacji. – WhiteKnight

+0

Gdzie tworzysz zmienną 'branch_loc'? – Stephan