NetBeans 9: как включить зависимый проект Grails 3.3.8 - PullRequest
0 голосов
/ 15 января 2019

Способ модульного приложения Grails - создать плагин с общими компонентами (доменные объекты, сервисы и т. Д.), А затем одно или несколько веб-приложений, использующих это. Легко и работает.

Проблема заключается в том, что netbeans не получает зависимость, даже если она определена в файле build.gralde и settings.gradle.

проект создан так:

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

Теперь для настройки проекта предпринимаются следующие шаги:

  1. создайте "settings.gradle" в корневом каталоге проектов со строкой "include" myapp "," core ""
  2. Отредактируйте myapp / build.gradle и добавьте следующий раздел:

    Граальс { плагины { скомпилировать проект (': core') } }

  3. Отредактируйте 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», но оба этих элемента пусты (похоже, что они сломаны).

Есть идеи?

...