gpt4 book ai didi

java - Spring boot Gradle 不生成包装器并且不生成可运行的 jar

转载 作者:行者123 更新时间:2023-12-02 10:03:24 24 4
gpt4 key购买 nike

我正在尝试创建一个 Spring boot 应用程序,该应用程序将使用多阶段 dockerfile 完全在 Docker 中编译和运行:

###############
#### Build ####
###############
FROM openjdk:13-alpine as builder

WORKDIR /usr/src/app
COPY . .
RUN path/to/gradlew build

################
#### Deploy ####
################
FROM openjdk:13-alpine
WORKDIR /usr/src/app
COPY --from=builder /usr/src/app/some/path /usr/src/app/

EXPOSE 8080
CMD [java, some/path/someJar.jar]

有两件事我无法弄清楚:

  1. 我的项目中没有任何 gradlew 文件和 gradlew.bat 文件。即使有一个 gradle/目录,并且在 gradle/wrapper/gradle-wrapper.properties 中我定义了 Gradle 版本 3.5.1。在设置中,我尝试了“默认包装器”和“包装器任务配置”。

enter image description here

Intellij Idea 似乎以某种方式解析了 gradle 可执行文件。不知道可执行文件在哪里。

  • 构建时 gradle 会生成一些输出。但我无法手动运行或转换为良好的 docker 命令。它基本上编译了 java 类,仅此而已。在java中运行主类不起作用。再次,使用 Intellij Idea“运行”效果很好。 Intellij 是做什么的?
  • 最佳答案

    为了创建包装文件,您需要首先以其他方式安装 Gradle。检查installation documentation 。之后,您需要在项目的根文件夹中运行命令:

    gradle wrapper

    这将生成所需的 wrapperwrapper.bat 文件。然后您可以使用这些脚本从 Dockerfile 运行。有关使用包装器的更多详细信息,请参阅 here .

    生成包装器文件后,您可以通过转到设置 -> 构建、执行、部署 -> Gradle 并应用使用默认 gradle 包装器(推荐)来配置 Intellij 单选按钮。然后IDEA就会使用它。

    关于java - Spring boot Gradle 不生成包装器并且不生成可运行的 jar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55470781/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com