5 Stimmen

Setup Grails Projekt in IntelliJ IDEA

Ich habe die folgende Verzeichnisstruktur

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

In grails-app/conf/BuildConfig habe ich die notwendige Konfiguration hinzugefügt, um sicherzustellen, dass die Plugins aus dem plugins Verzeichnis geladen werden, sodass beim Ausführen der Anwendung die neuesten Änderungen übernommen werden.

Ich versuche dies als einzelnes Projekt in IntelliJ einzurichten, das 3 Module hat, eins für die Hauptanwendung und eins für jeden der beiden Plugins. Ich habe Folgendes versucht:

  • Generiere die IntelliJ-Projektdateien

    cd my-app/main-app

    grails integrate-with --intellij

  • Öffne die generierte .ipr-Datei von innerhalb von IntelliJ (Datei | Projekt öffnen...). Dadurch werden die Hauptanwendung und die Plugins als Grails-Module hinzugefügt

Jedoch meldet IntelliJ jedes Mal, wenn ich eine Klasse aus einem Plugin öffne, dass die Klasse zwei Vorkommen hat. Es scheint, dass jede Plugin-Klasse erkannt wird

  1. einmal im IntelliJ-Modul für das Plugin selbst
  2. einmal im Modul, den IntelliJ automatisch erstellt, der alle Plugins enthält. In meinem Fall ist dieses Modul namens main-app-grailsPlugins

In der Projektstrukturansicht habe ich versucht, die Inhalts-Pfade für plugin1 und plugins2 aus main-app-grailsPlugins zu entfernen, aber sie werden automatisch wieder hinzugefügt.

Gibt es eine Möglichkeit, dies zu verhindern, oder eine andere Möglichkeit, ein IntelliJ-Projekt für eine Grails-App mit In-Place-Plugins richtig einzurichten? Ich verwende Grails 1.3.7 und IntelliJ 10.5.4

1voto

rlovtang Punkte 4790

Mit IntelliJ IDEA 12 Ultimate ist das ganz einfach:

"Datei" 
    --> "Projekt importieren..." 
         --> wähle deine Grails-Anwendung aus, "OK" 
             --> Wähle "Projekt aus vorhandenen Quellen erstellen", "Weiter" 
                --> "Weiter" 
                    --> "Weiter" 
                        --> JDK auswählen, "Weiter" 
                             --> Grails-Version auswählen, "Weiter" 
                                  --> "Fertig"

Die Inline-Plugins werden automatisch als Module hinzugefügt. Ergebnis: http://d.pr/i/YHkk

0voto

Hoof Punkte 1708

Das folgende hat bei mir in einer ähnlichen Situation wunderbar funktioniert:

  1. Stellen Sie sicher, dass Ihre lokalen Plugins korrekt referenziert sind:

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

  2. Beginnen Sie damit, ein leeres Projekt zu erstellen - das heißt, keine Module!

  3. Importieren Sie keine "ipr"-Dateien und generieren Sie sie nicht automatisch.

  4. Wichtig! Beginnen Sie mit den unteren Plugins in Ihrem "Abhängigkeitsgraphen".

  5. Klicken Sie auf Datei-> Neues Modul.

  6. Wählen Sie das Grails-Modul aus.

  7. Zeigen Sie den "Inhaltsstamm" auf den Stamm Ihres Plugins (Der Modulname sollte automatisch ausgefüllt werden).

  8. Wiederholen Sie Schritte 5-7, bis keine Plugins mehr übrig sind.

  9. Beenden Sie, indem Sie ein Modul für Ihre Hauptanwendung auf ähnliche Weise wie in Schritten 5-7 erstellen.

Dies funktioniert bei mir auch mit deutlich mehr als zwei Plugins!

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X