在IntelliJ IDEA中设置Grails项目

Dón*_*nal 5 grails intellij-idea

我有以下目录结构

--my-app
   |
   |--main-app
   |
   |--plugins
      |
      |--plugin1
      |
      |--plugin2
Run Code Online (Sandbox Code Playgroud)

在grails-app/conf/BuildConfig中,我添加了必要的配置以确保从plugins目录加载插件,这样当我运行应用程序时,它会获取最新的更改.

我试图将它设置为IntelliJ中的单个项目,它有3个模块,一个用于主应用程序,另一个用于两个插件.我尝试了以下方法:

  • 生成IntelliJ项目文件

    cd my-app/main-app

    grails integrate-with --intellij

  • 从Intellij(File | Open Project ...)中打开生成的.ipr文件.这将主应用程序和插件添加为Grails模块

但是每次我从插件中打开一个类时,IntelliJ都会报告该类有两次出现.似乎正在检测每个插件类

  1. 一次在IntelliJ模块中为插件本身
  2. 一次在IntelliJ自动创建的模块中,其中包含所有插件.在我的例子中,这个模块被命名main-app-grailsPlugins

在项目结构视图中,我尝试删除内容源plugin1plugins2来自main-app-grailsPlugins,但它们会自动重新添加.

有没有办法防止这种情况,或者为使用就地插件的Grails应用程序正确设置IntelliJ项目的其他方法.我正在使用Grails 1.3.7和IntelliJ 10.5.4

Hoo*_*oof 0

在类似的情况下,以下内容对我来说非常有效:

  1. 确保正确引用您的本地插件:

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

  2. 首先创建一个空项目 - 即没有模块!

  3. 不要导入或以任何其他方式“自动生成”ipr 文件

  4. 重要的!从“依赖关系图”中较低的插件开始

  5. 单击文件->新建模块

  6. 选择grails模块

  7. 将“content root”指向插件的根目录(模块名称应自动填写)

  8. 重复5-7,直到不再有插件

  9. 最后以与 5-7 类似的方式为主应用程序创建一个模块

这对我来说有比两个更多的插件!