我需要使用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。