Vaadin 12 + Gradle 5创建可执行文件Fat jar

时间:2019-03-29 14:47:54

标签: java gradle vaadin

我需要使用Jetty和Vaadin建造一个胖子罐。

我的工作区基于Gradle 5,它是Gradle多模块项目

Parent
  Common-Lib
  Core-Lib
  Jetty+Vaadin

我遵循了在这里找到的文档:

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

文档解释了如何基于maven创建Jetty的WebAppContext并启动Jetty Server实例。

正如我所说的那样,我的工作空间基于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扩展名。

我的问题是:如何创建标准的“不带阴影的”超级罐子/脂肪罐子而不是.war

我想用“ unshaded”一词来解压缩所有JAR依赖项,然后将它们重新打包成最终的JAR。

0 个答案:

没有答案