【问题标题】:Unable to Build an executable JAR on Spring Boot无法在 Spring Boot 上构建可执行 JAR
【发布时间】:2020-07-25 22:59:30
【问题描述】:

我目前正在阅读 Spring Boot (https://spring.io/guides/gs/uploading-files/#initial) 的教程页面,以检查如何上传图像文件,但我不太了解“运行应用程序”的“构建可执行 JAR”部分“ 章节。

我通过教程页面上的链接下载了项目,并复制并粘贴了所有文件,我在命令提示符下写了“./gradlew bootRun”,就像在页面的构建可执行 JAR 部分中写的一样,但是我'我无法运行该程序。

为了更具体地描述我的情况,我通过cd命令移动到有一个gradle文件的目录(在我的PC环境中,它是C:\Users\marra\Documents\workspace-spring-tool-suite-4-4.5.1.RELEASE\ImgUpload\gs-uploading-files\initial),然后写“./gradlew bootRun”并点击键盘的 Enter 按钮,但仍然收到错误消息“BUILD FAILED”

在这里,我提出了 2 个问题。

·首先,我是否正确地按照教程的说明进行操作?换句话说,我所做的是“移动到 C:\Users\marra\Documents\workspace-spring-tool-suite-4-4.5.1.RELEASE\ImgUpload\gs-uploading-files\initial 目录并写“ ./gradlew bootRun”并按 Enter”,但这是运行教程程序的正确方法吗?如果我这样做的方式是错误的,我应该如何运行程序? “您可以使用 ./gradlew bootRun 运行应用程序”是什么意思?

・此失败的另一种可能性是即使我正确遵循了教程的说明,我也会收到错误消息。但在那种情况下,我做错了哪一部分?当我尝试运行程序但它失败时,命令提示符显示错误消息“任务':compileJava'执行失败。 > 编译失败;有关详细信息,请参阅编译器错误输出。”。我自己做了一些研究,例如在https://github.com/realm/realm-java/issues/5910 这样的页面上建议“任何编译失败都会收到此消息。”。也许我可能没有正确复制和粘贴文件的所有示例代码,但问题是我不知道要检查哪个文件夹的哪个文件的哪一行。我在“./gradlew bootRun” 命令中添加了“--debug”,以查看我得到了什么样的错误,我得到了以下内容。

13:28:20.806 [LIFECYCLE] [class org.gradle.internal.buildevents.TaskExecutionLogger] > Task :compileJava FAILED        

13:28:21.249 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] FAILURE: Build failed with an exception.

13:28:21.250 [ERROR] [org.gradle.internal.buildevents.BuildResultLogger] BUILD FAILED in 6s   

至少我希望我能弄清楚“从哪里看”来找到bug的原因,或者有一个适当的假设,比如“如果一切顺利,部分XXX应该显示为YYY。但实际上它显示为 ZZZ,因此通过缩小问题范围,可能是“AAA”部分有问题。

【问题讨论】:

    标签: java spring-boot gradle


    【解决方案1】:

    我刚刚跟进了该教程和 ./gradlew bootRun 构建并成功运行应用程序。在这种情况下,您应该检查您的机器上安装了哪个版本的 java(以及哪个版本的 java,gradle 正在使用它)。正如您在 gradle 构建文件中看到的那样: sourceCompatibility = '1.8' 。如果你有 1.8 下的 java 版本,你的编译可能会失败。我过去在 Gradle 构建胖启动 jar 时也遇到了一些问题,也许这也会有所帮助:Spring boot and Gradle multi-modules project, failed to load dependencies correctly

    【讨论】:

    • 感谢您的回答。刚才我意识到在教程页面上还有一个“完整”版本,从一开始就一切就绪,我将目录更改为C:\Users\marra\Documents\workspace-spring-tool-suite-4-4.5.1.RELEASE\ImgUpload\gs-uploading-files\complete并再次尝试./gradlew bootRun。结果是成功的,我可以毫无问题地连接到本地主机。我怀疑这可能与initial 项目中的某些文件有关,这些文件可能恰好不完整......
    • java --version 的结果是 openjdk version "11.0.2" 2019-01-15 OpenJDK Runtime Environment 18.9 (build 11.0.2+9) OpenJDK 64-Bit Server VM 18.9 (build 11.0. 2+9,混合模式)
    • 太棒了,很高兴你终于成功了。如果您选择此作为答案,或者您竖起大拇指,我将不胜感激。感谢和愉快的编码;)
    • 我刚刚勾选了复选标记并竖起了大拇指。谢谢:)
    猜你喜欢
    • 1970-01-01
    • 2014-12-18
    • 2018-04-06
    • 1970-01-01
    • 1970-01-01
    • 2017-01-20
    • 1970-01-01
    • 2018-07-21
    • 1970-01-01
    相关资源
    最近更新 更多