当前位置: 首页 > 知识库问答 >
问题:

无法在Spring Boot时构建可执行JAR

邬友樵
2023-03-14

我目前正在阅读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”

这里我提出了两个问题。

·首先,我是否一开始就正确地遵循了教程的指示?换句话说,我所做的是“移动到C:\users\marra\documents\workspace-spring-tool-suite-4-4.5.1.release\imgupload\gs-uploading-files\initial目录,然后写”./gradlew bootrun“并按回车”,但这是运行教程程序的正确方式吗?如果我的做法是错误的,我应该如何运行程序?“您可以通过使用。/Gradlew Bootrun运行应用程序”是什么意思?

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

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部分有问题“。

共有1个答案

奚正谊
2023-03-14

我刚刚完成了教程和。/Gradlew bootRun构建并成功运行了该应用程序。在这种情况下,您应该检查您的机器上安装了哪个版本的java(以及gradle正在使用哪个版本的java)。正如您在gradle构建文件中看到的,有:sourceCompatibility='1.8'。如果您的java版本在1.8以下,您的编译可能会失败。过去我在Gradle构建fat boot jar时也遇到过一些问题,也许这也会有所帮助:Spring boot和Gradle多模块项目,未能正确加载依赖项

 类似资料:
  • 失败:生成失败,出现异常。 > 错误:任务“:CompileJava”执行失败。 找不到系统Java编译器。确保您已经安装了JDK(而不仅仅是JRE)并将您的JAVA_HOME系统变量配置为指向相应的目录。

  • 我正在使用Hibernate和spring boot。我注意到,如果我从包中包含注释和 并尝试运行spring启动应用程序。我的应用程序启动失败,出现以下错误。 当我删除这些注释并尝试运行应用程序时。应用程序启动良好。 审计实体。JAVA 波姆。xml 我将审计实体嵌入到userentity中。 下面是userEntity的代码。JAVA 我相信这是因为我引入了一些与hibernate相关的类,这

  • 问题内容: 我试图使用maven为名为“ logmanager”的小型家庭项目生成可执行jar,如下所示: 如何使用Maven创建具有依赖项的可执行JAR? 我将此处显示的代码段添加到pom.xml中,并运行了mvn assembly:assembly。它在logmanager / target中生成两个jar文件:logmanager-0.1.0.jar和logmanager-0.1.0-jar

  • 我已经找了两天来解决这个问题,但我没有找到解决办法。首先我想构建fat-jar,然后我放弃了它看起来更复杂,所以我开始构建普通的可执行Jar。我正在用Gradle插件在NetBeans 8.2中构建一些程序(http://plugins.NetBeans.org/plugin/44510/gradle-support) 我的项目结构是这样的: 项目结构 我是一个比较新的年级,我使用它不到一个月。我

  • 我想使用pyInstaller的单文件夹模式,但我不想每次都收集所有依赖项。 大多数情况下,我可以重用它以前打包的所有依赖项,我只需要可执行文件,我想如果我能在构建过程中尽快停止,我会在构建过程中节省10~20分钟。exe文件已生成。 我知道用-F标志将所有依赖项打包到一个可执行文件中,但这不是我想要的。我只希望pyInstaller在打包步骤之前停止。 我希望生成在可能输出时立即停止: