簡體   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