Включить режим производства Vaadin Flow в проекте Spring Initializr Gradle - PullRequest
2 голосов
/ 04 июня 2019

Я запутался, пытаясь перевести проект com.vaadin:vaadin-spring-boot-starter Gradle в рабочий режим.

Проект является частью многомодульного проекта, и его (упрощенный) файл build.gradle выглядит следующим образом:

buildscript {
    dependencies {
        classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
    }
}

apply plugin: 'java'
apply plugin: 'org.springframework.boot'
apply plugin: 'io.spring.dependency-management'

dependencyManagement {
    imports {
        mavenBom "com.vaadin:vaadin-bom:${vaadinVersion}"
    }
}

dependencies {
    compile("org.springframework.boot:spring-boot-starter-web")
    compile("org.springframework.boot:spring-boot-starter-actuator")
    compile("com.vaadin:vaadin-spring-boot-starter")

    // ... futher more
}

Я нашел несколько проектов и документации по этой теме, например:

Мое текущее состояние таково, что я добавил vaadin.productionMode=true в файл application.yaml, что приводит к следующей ошибке в HTTP GET:

Не удалось найти файл манифеста пакета 'frontend: // vaadin-flow-bundle-manifest.json 'в контексте сервлета для браузеров' ES6 '.Если вы используете контейнер сервлетов в dev-режиме в maven, например, jetty:run, измените его на jetty:run-exploded.Если вы не компилируете ресурсы внешнего интерфейса, включите vaadin-maven-plugin в ваш скрипт сборки.В противном случае вы можете пропустить эту ошибку, либо отключив производственный режим, либо установив параметр сервлета 'original.frontend.resources = true'.

Так что в общем я думаю, что я нахожусь направильно.

  • Setting the servlet parameter 'original.frontend.resources=true' устраняет ошибку, но мне кажется, что это обходной путь, поэтому я хочу ее избежать.
  • Disabling production mode, очевидно, не вариант: -)

Поэтому мой вопрос: как я могу включить vaadin-maven-plugin в мой скрипт сборки Gradle.Поскольку я использую только Flow, мне лучше использовать flow-maven-plugin?


Обновление 1: я хочу установить Spring Initializr Gradle проект с зависимостью Vaadin в рабочий режим.Я не хочу создавать новый gradle-vaadin-flow-plugin проект.

1 Ответ

2 голосов
/ 04 июня 2019

Эквивалент Gradle vaadin-maven-plugin будет com.devsoap.vaadin-flow ( 1 ), и вам также необходимо настроить vaadin { productionMode = true } в build.gradle ( 2 )

Также возможно настроить свойство gradle так, чтобы оно зависело от параметра времени сборки, как объяснено здесь : настроить vaadin.productionMode = findProperty('productionMode') ?: false в build.gradle и добавить заполнитель в @VaadinServletConfiguration, которыйбудет предварительно обработан при создании проекта.

...