Способ модульного приложения Grails - создать плагин с общими компонентами (доменные объекты, сервисы и т. Д.), А затем одно или несколько веб-приложений, использующих это. Легко и работает.
Проблема заключается в том, что netbeans не получает зависимость, даже если она определена в файле build.gralde и settings.gradle.
проект создан так:
mkdir myproject
cd myproject
grails create-plugin core
grails create-app myapp
Теперь для настройки проекта предпринимаются следующие шаги:
- создайте "settings.gradle" в корневом каталоге проектов со строкой "include" myapp "," core ""
Отредактируйте myapp / build.gradle и добавьте следующий раздел:
Граальс {
плагины {
скомпилировать проект (': core')
}
}
Отредактируйте core / gradle.properties и добавьте "exploded = true".
Теперь мы можем просто открыть core и myapp в NetBeans, и он подхватит их обоих как проекты 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
}
Теперь вы можете сделать "grails run-app" в директории myapp, и ваше приложение запустится и включает любые классы из плагина.
Структура файла выглядит следующим образом:
myproject
settings.gradle
myapp
build.gradle
core
build.gradle
Однако в пользовательском интерфейсе netbeans myapp не может «видеть» или разрешать какие-либо классы плагинов. Кажется, он не знает ни о settings.gradle, ни о зависимости плагина.
Как добавить ядро в качестве зависимости к проекту myapp в netbeans? Существует контекстное меню проекта «Grails plugins», в котором есть «reload plugins» и «new plugins», но оба этих элемента пусты (похоже, что они сломаны).
Есть идеи?