2011-12-08 17 views
5

Ho la seguente struttura di directorysetup del progetto Grails in IntelliJ IDEA

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

In graal-app/conf/BuildConfig Ho aggiunto la configurazione necessaria per garantire che i plugin sono caricati dalla directory plugins, così che quando eseguo l'applicazione, raccoglie le modifiche più recenti.

Sto provando a configurarlo come un singolo progetto in IntelliJ che ha 3 moduli, uno per l'applicazione principale e uno per ciascuno dei due plug-in. Ho provato quanto segue:

  • generare file di progetto IntelliJ

    cd my-app/main-app

    grails integrate-with --intellij

  • Aprire il file di generato .ipr dall'interno Intellij (File | Apri progetto ...) . Questo aggiunge l'applicazione principale e plugin come moduli Grails

Tuttavia ogni volta che apro una classe da un plugin, IntelliJ riferisce che la classe ha due occorrenze. Sembra ogni classe del plugin viene rilevata

  1. volta nel modulo IntelliJ per il plugin stesso
  2. una volta nel modulo che IntelliJ crea automaticamente che contiene tutti i plugin. Nel mio caso, questo modulo è chiamato main-app-grailsPlugins

Nella vista struttura del progetto ho provato a rimuovere le radici di contenuti per plugin1 e plugins2 da main-app-grailsPlugins, ma ottengono automaticamente aggiunto di nuovo.

C'è un modo per impedirlo o un altro modo per impostare correttamente un progetto IntelliJ per un'app Grails con plug-in sul posto. Sto usando Grails 1.3.7 e 10.5.4 IntelliJ

+0

Hai provato a importare il tuo progetto Grails dalla sorgente esistente in IDEA, senza utilizzare l'integrazione con? Quale classe è segnalata come duplicata, dove si trova? –

+0

Il problema di duplicazione non si verifica se non utilizzo l'integrazione, ma le dipendenze tra l'app principale e il plug-in non sono configurate correttamente se lo faccio in questo modo –

+0

Don, prova ad eseguire le impostazioni di Sincronizzazione Grails su 'main -app 'modulo. – Sergey

risposta

0

Di seguito ha lavorato splendidamente per me in una situazione simile:

  1. assicurarsi che il vostro plugin locali si fa riferimento in modo corretto:

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

  2. Iniziare creando un progetto vuoto, ovvero nessun modulo!
  3. Non importare o in altro modo "autogenerare" ipr file
  4. Importante!Inizia con i plugin più bassi nel vostro "grafo delle dipendenze"
  5. Clicca file-> Nuovo modulo
  6. Scegli modulo graal
  7. Point "contenuto principale" alla radice del vostro plugin (nome del modulo deve essere compilato automaticamente)
  8. Ripetere 5-7 fino a quando non più plugin
  9. Fine con la creazione di un modulo per la vostra applicazione principale in maniera simile a 5-7

Questo non fa per me con molte più plugin di due!

1

Con IntelliJ IDEA 12 Ultimate questo è molto semplice:

 
"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" 

I plug inplace verranno automaticamente aggiunti come moduli. Risultato: http://d.pr/i/YHkk

+0

funziona, ma non posso eseguire il comando di debug. – Gadonski

Problemi correlati