Grails с Vaadin 8 - «Не удалось загрузить набор виджетов» - PullRequest
0 голосов
/ 06 мая 2018

Я новичок в областях Grails и Vaadin 8, и у меня возникли некоторые проблемы при попытке добавить виджеты в мое приложение Vaadin / Grails.

Для начала я создал приложение grails / Vaadin, используя профиль me.przepiora.vaadin-grails: web-vaadin8: 0.3. Я отредактировал файл build.gradel, как советовал и запустил команду «gradle wrapper --gradle-version 4.0» (опять же, как указано в настройке профиля).

Вот мой build.gradle после применения редактирования:

apply plugin:"com.devsoap.plugin.vaadin"

buildscript {
    repositories {
        mavenLocal()
        maven { url "https://repo.grails.org/grails/core" }
        maven { url "https://dl.bintray.com/macprzepiora/gradle-plugins/" }
    }
    dependencies {
        classpath "org.grails:grails-gradle-plugin:$grailsVersion"
        classpath "org.grails.plugins:hibernate5:${gormVersion-".RELEASE"}"
        classpath "com.devsoap.plugin:gradle-vaadin-plugin:1.2.0.beta1-macprzepiora2"
        classpath "com.bertramlabs.plugins:asset-pipeline-gradle:2.14.8"
    }
}

version "0.1"
group "foobar"

apply plugin:"eclipse"
apply plugin:"idea"
apply plugin:"war"
apply plugin:"org.grails.grails-web"
apply plugin:"asset-pipeline"
apply plugin:"org.grails.grails-gsp"

repositories {
    mavenLocal()
    maven { url "https://repo.grails.org/grails/core" }
}

dependencies {
    compile "org.springframework.boot:spring-boot-starter-logging"
    compile "org.springframework.boot:spring-boot-autoconfigure"
    compile "org.grails:grails-core"
    compile "org.springframework.boot:spring-boot-starter-actuator"
    compile "org.springframework.boot:spring-boot-starter-tomcat"
    compile "org.grails:grails-web-boot"
    compile "org.grails:grails-logging"
    compile "org.grails:grails-plugin-rest"
    compile "org.grails:grails-plugin-databinding"
    compile "org.grails:grails-plugin-i18n"
    compile "org.grails:grails-plugin-services"
    compile "org.grails:grails-plugin-url-mappings"
    compile "org.grails:grails-plugin-interceptors"
    compile "org.grails.plugins:cache"
    compile "org.grails.plugins:async"
    compile "org.grails.plugins:scaffolding"
    compile "com.vaadin:vaadin-spring-boot-starter:2.+"
    compile "org.grails.plugins:events"
    compile "org.grails.plugins:hibernate5"
    compile "org.hibernate:hibernate-core:5.1.5.Final"
    compile "org.grails.plugins:gsp"
    console "org.grails:grails-console"
    profile "me.przepiora.vaadin-grails:web-vaadin8:0.3"
    runtime "org.glassfish.web:el-impl:2.1.2-b03"
    runtime "com.h2database:h2"
    runtime "org.apache.tomcat:tomcat-jdbc"
    runtime "com.bertramlabs.plugins:asset-pipeline-grails:2.14.8"
    testCompile "org.grails:grails-gorm-testing-support"
    testCompile "org.grails:grails-web-testing-support"
}

bootRun {
    jvmArgs('-Dspring.output.ansi.enabled=always')
    addResources = true
    String springProfilesActive = 'spring.profiles.active'
    systemProperty springProfilesActive, System.getProperty(springProfilesActive)
}

plugins {
    id 'com.devsoap.plugin.vaadin' version '1.3.1'
}

assets {
    minifyJs = true
    minifyCss = true
}

Полученное приложение grails / Vaadin работало нормально, отображая кнопку, которая при нажатии отображала сообщение об ошибке. Затем я попытался немного улучшить приложение, заменив кнопку на дерево Vaadin, сделав резервную копию экземпляром TreeData.

К сожалению, когда я сделал это, я получил сообщение об ошибке:

«Widgetset 'com.vaadin.DefaultWidgetSet' не содержит реализацию для com.vaadin.ui.Tree. Проверьте отображение @Connect своего коннектора компонента, файл описания модуля GWT widgetsets и заново скомпилируйте ваш widgetset. В случае, если вы загрузили пакет дополнений vaadin, вы можете обратиться к инструкциям дополнения. ”

После поиска в Google я нашел что-то похожее на:

Как мне исправить 'com.vaadin.DefaultWidgetSet' не содержит реализацию для com.vaadin.addon.charts.Chart

Исходя из этого, я добавил строку @Widgetset ("AppWidgetset") в мой класс GrailsUI (единственный класс в моем проекте, который наследуется от com.vaadin.ui.UI).

После этого я получаю новую ошибку времени выполнения:

«Не удалось загрузить набор виджетов: ./VAADIN/widgetsets/AppWidgetset/AppWidgetset.nocache.js?1525623851485 дополнений

Я так расстроен - мне кажется, что я действительно близок к рабочему приложению, если бы я только знал магическое заклинание: - (

...