1

模块化 grails 应用程序的方法是创建一个具有通用组件(域对象、服务等)的插件,然后创建一个或多个使用它的 Web 应用程序。简单而有效。

问题是 netbeans 不会获取依赖项,即使它是在 build.grade 文件和 settings.gradle 中定义的。

该项目是这样创建的:

mkdir myproject
cd myproject
grails create-plugin core
grails create-app myapp

现在采取以下步骤来配置项目:

  1. 在项目根目录中创建一个“settings.gradle”,其中包含“include 'myapp', 'core'”行
  2. 编辑 myapp/build.gradle 并添加以下部分:

    grails { 插件 { 编译项目(':core') } }

  3. 编辑 core/gradle.properties 并添加“exploded=true”。

现在我们可以简单地在 netbeans 中打开 core 和 myapp,它会将它们都作为 grails 项目来选择。

现在我们可以创建一个域对象,例如:

在核心/grails-app/domain/me/core/User.groovy

package me.core
class User {
  String first
  String last
 static constraints = {
 }
}

在 myapp/grails-app/controllers/me/admin/UserController.groovy 中:

package me.admin
import me.core.User // This import fails in the IDE!
class UserController {
     static scaffold=User 
}

现在您可以在 myapp 目录中执行“grails run-app”,您的应用程序运行并包含插件中的任何类。

文件结构是这样的:

myproject
    settings.gradle
    myapp
        build.gradle
    core
        build.gradle

但是,在 netbeans UI 中,myapp 无法“看到”或解析任何插件类。它似乎不知道 settings.gradle 也不知道插件依赖。

如何将核心作为依赖项添加到 netbeans 中的 myapp 项目?有一个“grails plugins”项目上下文菜单,其中有“reload plugins”和“new plugins”,但是这两个项目都是空的(看起来它们已经坏了)。

有任何想法吗?

4

0 回答 0