繁体   English   中英

Spring Boot Gradle不生成包装并且不生成可运行的jar

[英]Spring boot Gradle not generating wrapper and not producing runnable jar

我正在尝试创建一个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。 在设置中,我尝试了“默认包装器”和“包装器任务配置”。

在此处输入图片说明

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

  1. 构建时,gradle会生成一些输出。 但是我无法手动运行或转换为不错的docker命令。 它基本上可以编译Java类,仅此而已。 在Java中运行主类无效。 再一次,使用Intellij Idea的“运行”效果很好。 Intellij是做什么的?

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

gradle wrapper

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

生成包装器文件后,可以通过转到Settings -> Build, Execution, Deployment -> Gradle并应用“ Use default gradle wrapper (recommended)单选按钮来配置Intellij。 然后,IDEA将使用它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM