gradle没有在脱机模式下解析扩充(部署)依赖项

sxissh06  于 2021-06-27  发布在  Java
关注(0)|答案(0)|浏览(210)

我想使用多级docker构建部署我的quarkus项目。在第一步中,我解析容器a(build\u container)中的依赖项,然后将它们复制到容器b(run\u container)。然后我使用离线开关逐步构建我的应用程序。
dockerfile.svc文件:

FROM java-gradle-build-img:12.0.1.b4 as BUILD_IMAGE

FROM docker-java-img:12.0.2.b3

COPY --from=BUILD_IMAGE /opt/build/quarkus-service/build/lib/* /service/dependencies/
COPY --from=BUILD_IMAGE /opt/build/quarkus-service/build/*-runner.jar /service/service-runner.jar

EXPOSE 8080

CMD ["java","-jar","/service/quarkus-service-runner.jar"]

我正在努力解决的问题如下。当我在build.gradle中仅指定运行时依赖项时,quarkusgeneratecode任务由于缺少部署依赖项而失败。
异常消息:

> Could not resolve io.quarkus:quarkus-resteasy-jsonb-deployment:1.9.2.Final.
      Required by:
          project :quarkus-service
       > No cached version of io.quarkus:quarkus-resteasy-jsonb-deployment:1.9.2.Final available for offline mode.
    > Could not resolve io.quarkus:quarkus-rest-client-deployment:1.9.2.Final.
      Required by:
          project :-quarkus-service
       > No cached version of io.quarkus:quarkus-rest-client-deployment:1.9.2.Final available for offline mode.
    > Could not resolve io.quarkus:quarkus-resteasy-deployment:1.9.2.Final.
      Required by:
          project quarkus-service

我找到的解决方案是显式地将部署库指定为以下实现:

implementation "io.quarkus:quarkus-resteasy"
        implementation "io.quarkus:quarkus-resteasy-jsonb"
        implementation "io.quarkus:quarkus-elytron-security-oauth2"
        implementation "io.quarkus:quarkus-rest-client"
        implementation "io.quarkus:quarkus-agroal"
        implementation "io.quarkus:quarkus-jdbc-postgresql"
        implementation "io.quarkus:quarkus-flyway"

        implementation "io.quarkus:quarkus-resteasy-jsonb-deployment"
        implementation "io.quarkus:quarkus-rest-client-deployment"
        implementation "io.quarkus:quarkus-resteasy-deployment"
        implementation "io.quarkus:quarkus-flyway-deployment"
        implementation "io.quarkus:quarkus-elytron-security-oauth2-deployment"
        implementation "io.quarkus:quarkus-agroal-deployment"
        implementation "io.quarkus:quarkus-jdbc-postgresql-deployment"

但正如官方文件中所说的那样,这并不是解决问题的办法。我的问题是,有没有一种方法能够在容器中的初始构建期间解决这些依赖关系?或者离线模式在quarkus中根本不好?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题