2011-12-08 25 views
5

que tienen la siguiente estructura de directoriosconfiguración de IntelliJ IDEA

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

En griales-app/conf/BuildConfig he añadido la configuración necesaria para asegurar que los plugins se cargan desde el directorio plugins, por lo que cuando ejecuto la aplicación, recoge los cambios más recientes.

Estoy tratando de configurar esto como un solo proyecto en IntelliJ que tiene 3 módulos, uno para la aplicación principal y otro para cada uno de los dos complementos. He intentado lo siguiente:

  • generar archivos de proyecto de IntelliJ

    cd my-app/main-app

    grails integrate-with --intellij

  • Abrir el archivo generado .ipr desde el interior de IntelliJ (Archivo | Abrir proyecto ...) . Esto se suma la aplicación principal y los plugins de Grails como módulos

Sin embargo cada vez que abro una clase de un plugin, IntelliJ reporta que la clase tiene dos ocurrencias. Parece cada clase de complemento se está detectando

  1. una vez en el módulo de IntelliJ para el propio plugin
  2. una vez en el módulo que crea automáticamente IntelliJ que contiene todos los plugins. En mi caso, este módulo se llama main-app-grailsPlugins

En la vista de estructura de proyecto he intentado eliminar las raíces de contenido para plugin1 y plugins2 de main-app-grailsPlugins, sino que se añaden automáticamente de nuevo.

Hay una manera de evitar esto, o alguna otra forma de configurar correctamente un proyecto IntelliJ para una aplicación Grails con complementos in situ. Estoy usando Grails 1.3.7 y 10.5.4 IntelliJ

+0

¿Ha intentado importar su proyecto Grails desde una fuente existente en IDEA, sin usar integrate-with? ¿Qué clase se informa como duplicada, dónde se encuentra? –

+0

El problema duplicado no ocurre si no uso integrate-with, pero las dependencias entre la aplicación principal y el complemento no están configuradas correctamente si lo hago de esta manera –

+0

Don, intente ejecutar Synchronize Grails Settings en 'main -app 'módulo. – Sergey

Respuesta

0

El siguiente ha funcionado muy bien para mí en una situación similar:

  1. asegurarse de que sus plugins locales están referenciadas correctamente:

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

  2. Comience creando un proyecto vacío, es decir, sin módulos.
  3. No importar o de ninguna otra forma "autogenerar" archivos ipr
  4. ¡Importante!Comience con los plugins más bajos en su "dependencia gráfico"
  5. Haga clic en Archivo-> Nuevo módulo
  6. Elija módulo griales
  7. Point "raíz de contenido" a la raíz de su plugin (Nombre del módulo debe ser rellenado de forma automática)
  8. Repetir 5-7 hasta que no haya más plugins
  9. Acabado mediante la creación de un módulo para su aplicación principal de manera similar a 5-7

Esto lo hace por mí con muchos más plugins de dos!

1

Con IntelliJ IDEA 12 Ultimate esto es muy fácil:

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

Los plugins InPlace automáticamente se añadirán como módulos. Resultado: http://d.pr/i/YHkk

+0

funciona, pero no puedo ejecutar el comando de depuración. – Gadonski