2011-12-08 14 views
5

Mam następującą strukturę katalogówsetup projekt Grails w IntelliJ IDEA

--my-app 
    | 
    |--main-app 
    | 
    |--plugins 
     | 
     |--plugin1 
     | 
     |--plugin2 

w Grails-app/conf/BuildConfig Dodałem konfigurację niezbędną do zapewnienia, że ​​wtyczki są ładowane z katalogu plugins, więc że kiedy uruchomię aplikację, odbiera najnowsze zmiany.

Próbuję ustawić to jako pojedynczy projekt w IntelliJ, który ma 3 moduły, jeden dla głównej aplikacji i jeden dla każdej z dwóch wtyczek. Próbowałem następujące:

  • Generowanie projektu IntelliJ plików

    cd my-app/main-app

    grails integrate-with --intellij

  • Otwórz generowane .ipr pliku od wewnątrz IntelliJ (Plik | Otwórz projekt ...) . Dodaje to główne aplikacji i wtyczek jako moduły Grails

każdym razem, gdy otworzy klasę z wtyczki, IntelliJ donosi jednak, że klasa ma dwa wystąpienia. Wydaje się, każda klasa wtyczki jest wykrywany

  1. raz w module IntelliJ dla wtyczki samego
  2. raz w module, który automatycznie tworzy IntelliJ który zawiera wszystkie pluginy. W moim przypadku, moduł ten jest nazwany main-app-grailsPlugins

W widoku struktury projektu próbowałem usunięcie zawartości korzenie dla plugin1 i plugins2 od main-app-grailsPlugins, ale oni są automatycznie dodawane powrotem.

Czy istnieje sposób, aby temu zapobiec lub w inny sposób prawidłowo skonfigurować projekt IntelliJ dla aplikacji Grails z lokalnymi wtyczkami. Używam IntelliJ Grails 1.3.7 i 10.5.4

+0

Czy próbowałeś zaimportować swój projekt Grails z istniejącego źródła w IDEA, bez korzystania z integracji? Która klasa jest zgłaszana jako zduplikowana, gdzie się znajduje? –

+0

Powielony problem nie występuje, jeśli nie używam funkcji integracji z, ale zależności między aplikacją główną a wtyczką nie są poprawnie skonfigurowane, jeśli robię to w ten sposób –

+0

Don, spróbuj wykonać Ustawienia synchronizacji Grails na głównym -app "moduł. – Sergey

Odpowiedz

0

pięknie pracował dla mnie w podobnej sytuacji następujący:

  1. upewnić się, że lokalne Wtyczki są oznaczone prawidłowo:

    grails.plugin.location.MyPlugin= "../plugins/MyPlugin"

  2. Rozpocznij od utworzenia pustego projektu - czyli bez modułów!
  3. Nie importować ani w żaden inny sposób "autogenerować" plików ipr
  4. Ważne!Zacznij z niższych wtyczek w „wykres zależności”
  5. Kliknij Plik-> Nowy moduł
  6. Wybierz modułu Grails
  7. Point „korzeń treść” do głównego katalogu wtyczek (nazwa modułu powinny być wypełniane automatycznie)
  8. Powtórz 5-7 dopóki nie więcej wtyczek
  9. Finish poprzez stworzenie modułu do głównej aplikacji w podobny sposób jak 5-7

to robi to dla mnie o wiele więcej niż dwóch wtyczek!

1

Z IntelliJ IDEA 12 Ostateczny to jest bardzo proste:

 
"File" 
    --> "Import Project..." 
     --> select your grails application, "OK" 
      --> Select "Create project from existing sources", "Next" 
       --> "Next" 
        --> "Next" 
         --> Select JDK, "Next" 
          --> Select grails version, "Next" 
            --> "Finish" 

W inplace wtyczki zostanie automatycznie dodany jako moduły. Wynik: http://d.pr/i/YHkk

+0

jego działanie, ale nie mogę uruchomić komendy debugowania. – Gadonski