首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何用Quarkus-Gradle-Plugin构建uberJar

如何用Quarkus-Gradle-Plugin构建uberJar
EN

Stack Overflow用户
提问于 2019-03-29 15:54:48
回答 3查看 2K关注 0票数 0

我试图使用Quarkus插件构建一个具有所有依赖项(runnable)的uberJar。使用maven,您可以通过向插件添加一个配置来构建它。

这就是在maven中的样子:

代码语言:javascript
运行
复制
<plugin>
    <groupId>io.quarkus</groupId>
    <artifactId>quarkus-maven-plugin</artifactId>
    <version>${quarkus.version}</version>
    <configuration>
        <uberJar>true</uberJar>
    </configuration>
    <executions>
        <execution>
            <goals>
                <goal>build</goal>
            </goals>
        </execution>
    </executions>
</plugin>

是否有可能在gradle插件中设置此属性?id 'io.quarkus.gradle.plugin‘版本'0.12.0’

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2019-03-30 14:21:41

该选项的名称是"uber-jar“。要设置此属性,您必须像从命令行那样启动构建:

代码语言:javascript
运行
复制
>gradle quarkusBuild --uber-jar

我在构建过程中遇到了一些错误,比如那个。

代码语言:javascript
运行
复制
Caused by: java.nio.file.NoSuchFileException: /Users/sven/Idea/getting-started/build/getting-started.jar

但是在最后,这个构建是成功的。

票数 2
EN

Stack Overflow用户

发布于 2019-03-29 16:16:30

quarkusBuild任务包含一个名为uberJar的属性,您可以使用该属性来控制uberJar行为(参见)。

票数 0
EN

Stack Overflow用户

发布于 2019-11-01 14:00:56

您可以使用以下内容直接在build.gradle中配置任务:

代码语言:javascript
运行
复制
task buildUberJar(type: io.quarkus.gradle.tasks.QuarkusBuild, dependsOn: build) {
    uberJar = true
}

但是,使用这种方法,我看到了jars之间资源重叠的许多问题。下面是我输出的一个子集:

代码语言:javascript
运行
复制
> Task :service-asset-management:buildUberJar
building quarkus runner

Duplicate entry META-INF/quarkus-extension.json entry from io.quarkus:quarkus-jackson::jar:0.26.1(runtime) will be ignored. Existing file was provided by io.quarkus:quarkus-kubernetes-client::jar:0.26.1(runtime)
Duplicate entry NOTICE entry from org.apache.kafka:kafka-clients::jar:2.2.1(runtime) will be ignored. Existing file was provided by org.ehcache:ehcache::jar:3.6.1(runtime)
Duplicate entry META-INF/quarkus-extension.json entry from io.quarkus:quarkus-arc::jar:0.26.1(runtime) will be ignored. Existing file was provided by io.quarkus:quarkus-kubernetes-client::jar:0.26.1(runtime)
Duplicate entry META-INF/quarkus-extension.json entry from io.quarkus:quarkus-core::jar:0.26.1(runtime) will be ignored. Existing file was provided by io.quarkus:quarkus-kubernetes-client::jar:0.26.1(runtime)
Dependencies with duplicate files detected. The dependencies [org.apache.kafka:kafka-clients::jar:2.2.1(runtime), org.ehcache:ehcache::jar:3.6.1(runtime)] contain duplicate files, e.g. NOTICE
Dependencies with duplicate files detected. The dependencies [io.quarkus:quarkus-core::jar:0.26.1(runtime), io.quarkus:quarkus-jackson::jar:0.26.1(runtime), io.quarkus:quarkus-kubernetes-client::jar:0.26.1(runtime), io.quarkus:quarkus-arc::jar:0.26.1(runtime)] contain duplicate files, e.g. META-INF/quarkus-extension.json
Dependencies with duplicate files detected. The dependencies [commons-logging:commons-logging::jar:1.2(runtime), org.slf4j:jcl-over-slf4j::jar:1.7.25(runtime)] contain duplicate files, e.g. org/apache/commons/logging/impl/SimpleLog$1.class
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55421165

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档