Vaadin 12 + Gradle 5 Создать исполняемый Fat Jar - PullRequest
1 голос
/ 29 марта 2019

Мне нужно использовать Jetty и Vaadin и построить толстую банку.

Моя рабочая область основана на Gradle 5, это многоцелевой проект gradle

Parent
  Common-Lib
  Core-Lib
  Jetty+Vaadin

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

https://vaadin.com/tutorials/embedded-jetty-server-in-vaadin-flow

В документации объясняется, как создать WebAppContext для Jetty и запустить экземпляр Jetty Server, основанный на maven.

Ожидайте, как я уже сказал, мое рабочее пространство основано на gradle, поэтому вместо копирования pom.xml япереписал его в скрипт сборки gradle, который выглядит следующим образом:

plugins {
    id 'idea'
}

group = 'some.example.jetty.and.vaadin.fatjar'
version = '1.0.0'

dependencies {
    implementation project(':Core-Lib')
    implementation project(':Common-Lib')

    compile group: 'javax.servlet', name: 'javax.servlet-api', version: '4.0.1'

    compile group: 'org.eclipse.jetty', name: 'jetty-continuation', version: '9.4.14.v20181114'
    compile group: 'org.eclipse.jetty.websocket', name: 'websocket-server', version: '9.4.14.v20181114'
    compile group: 'org.eclipse.jetty.websocket', name: 'javax-websocket-server-impl', version: '9.4.14.v20181114'

    compile group: 'com.vaadin', name: 'vaadin-core', version: '12.0.7'
}

Моя проблема в том, что во время сборки gradle выводит файл .war.Я не могу использовать файл .war.

Предполагается, что этот проект будет подключаемым модулем для другого приложения, для которого у меня нет источников.Приложение просто загружает файлы jar из определенной папки, поддерживается только расширение jar.

У меня такой вопрос: как я могу создать стандартный "unhaded" uber jar / fat jar вместо .war

Со словом «без тени» я хочу распаковать все зависимости JAR и упаковать их в окончательный JAR.

...