在IntelliJ IDEA中设置Grails项目

时间:2011-12-08 17:47:14

标签: grails intellij-idea

我有以下目录结构

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

在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
  3. 在项目结构视图中,我尝试从plugin1删除plugins2main-app-grailsPlugins的内容根,但会自动重新添加。

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

2 个答案:

答案 0 :(得分:1)

使用 IntelliJ IDEA 12 Ultimate ,这非常简单:

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

inplace插件将自动添加为模块。 结果:http://d.pr/i/YHkk

答案 1 :(得分:0)

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

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

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

  2. 首先创建一个空项目 - 也就是说,没有模块!
  3. 不要导入或以任何其他方式“自动生成”ipr文件
  4. 重要!从“依赖关系图”
  5. 中的较低插件开始
  6. 点击文件 - >新模块
  7. 选择grails模块
  8. 将“内容根”指向插件的根目录(模块名称应自动填写)
  9. 重复5-7直到不再有插件
  10. 以与5-7
  11. 类似的方式为主应用程序创建模块

    这对我来说有更多的插件而不是两个!