使grails应用程序模块化的方法是创建一个具有通用组件(域对象,服务等)的插件,然后创建一个或多个使用此插件的Web应用程序。简单而有效。
问题在于,即使在build.gralde文件和settings.gradle中定义了依赖关系,netbeans也无法获取依赖关系。
项目创建如下:
mkdir myproject
cd myproject
grails create-plugin core
grails create-app myapp
现在,请按照以下步骤配置项目:
编辑myapp / build.gradle并添加以下部分:
grails { 插件{ 编译项目(':core') } }
编辑core / gradle.properties并添加“ exploded = true”。
现在,我们可以简单地在netbeans中打开core和myapp,它将它们都作为grails项目。
现在我们可以创建一个域对象,例如:
在core / 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中将core作为依赖项添加到myapp项目?有一个“ grails插件”项目上下文菜单,其中有“重新加载插件”和“新插件”,但是这两个项目都是空的(看起来好像坏了)。
有什么想法吗?