Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/366.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Springboot Gradle插件不适用于Eclipse 问题_Java_Eclipse_Spring Boot_Gradle_Buildship - Fatal编程技术网

Java Springboot Gradle插件不适用于Eclipse 问题

Java Springboot Gradle插件不适用于Eclipse 问题,java,eclipse,spring-boot,gradle,buildship,Java,Eclipse,Spring Boot,Gradle,Buildship,当我使用这个springboot插件时,我的java项目没有在Eclipse中运行 它抛出了这个异常 Error starting ApplicationContext. To display the auto-configuration report re-run your application with 'debug' enabled. [2020-02-09 15:45:27.825] - 12256 GRAVE [main] --- org.springframework.boot.d

当我使用这个springboot插件时,我的java项目没有在Eclipse中运行
它抛出了这个异常

Error starting ApplicationContext. To display the auto-configuration report re-run your application with 'debug' enabled.
[2020-02-09 15:45:27.825] - 12256 GRAVE [main] --- org.springframework.boot.diagnostics.LoggingFailureAnalysisReporter: 

***************************
APPLICATION FAILED TO START
***************************

Description:

Constructor in com.example.demo.VersionController required a bean of type 'org.springframework.boot.info.BuildProperties' that could not be found.
    - Bean method 'buildProperties' in 'ProjectInfoAutoConfiguration' not loaded because @ConditionalOnResource did not find resource '${spring.info.build.location:classpath:META-INF/build-info.properties}'
带有该问题的示例项目 出现此问题的示例存储库可在此处找到:
要查看这个问题,您需要使用Eclipse运行这个项目(我使用Eclipse 2019-09运行它)

这个项目做什么 此java项目将gradle与此插件一起使用。
此项目在控制台中打印在my build.gradle文件中声明的应用程序版本。 在我的gradle.build文件中,我包括以下几行:

springBoot {
    buildInfo()
}
这行代码所做的只是将一个名为“bootBuildInfo”的Gradle任务添加到Gradle中,并在运行该任务时创建META-INF/build-info.properties文件。
在Java中,运行应用程序时,springboot会自动加载并读取META-INF/build-info.properties以创建bean。

Eclipse的问题 当我在终端中使用gradle构建并运行生成的jar文件时,所有这些都可以工作,但当我通过Eclipse运行应用程序时,这些都不起作用。
它不会创建META-INF/build-info.properties文件,当springboot尝试加载它时,会抛出一个bean未找到异常,因为它找不到该文件。

找到解决办法 如果我执行以下操作之一,项目将运行:
-在src/main/resources文件夹下手动创建META-INF/build-info.properties
-在build/resources/main文件夹下手动创建META-INF/build-info.properties


所有这些都不是必需的,因为它不会自动更新build-info.properties

Gradle的Eclipse支持允许您配置在同步或生成项目时应运行的任务。它需要Gradle 5.4或更高版本和Buildship(提供Gradle支持的Eclipse插件)3.1或更高版本

通过将以下内容添加到
build.gradle
,可以将
bootBuildInfo
配置为在Eclipse构建项目时运行:

eclipse {
    autoBuildTasks bootBuildInfo
}


您可以在中了解有关功能的更多信息。

Gradle的Eclipse支持允许您配置在同步或构建项目时应运行的任务。它需要Gradle 5.4或更高版本和Buildship(提供Gradle支持的Eclipse插件)3.1或更高版本

通过将以下内容添加到
build.gradle
,可以将
bootBuildInfo
配置为在Eclipse构建项目时运行:

eclipse {
    autoBuildTasks bootBuildInfo
}


您可以在中了解有关该功能的更多信息。

Hello。谢谢你的回答。每次我使用Eclipse更改文件时,autoBuildTasks都会执行指定的任务。因此,生成并更新build-info.properties。但是,问题是该文件是在我的类路径(这里是build\resources\main\META-INF\build info.properties)之外生成的,当我在IDE中运行应用程序时,该文件不起作用。您可以通过Gradle集成在IDE中运行应用程序(使用
bootRun
任务)或者您可以修改Eclipse使用的类路径。谢谢你的回答。每次我使用Eclipse更改文件时,autoBuildTasks都会执行指定的任务。因此,生成并更新build-info.properties。但是,问题是这个文件是在我的类路径(这里是build\resources\main\META-INF\build info.properties)之外生成的,当我在IDE中运行应用程序时,它不起作用。您可以通过Gradle集成(使用
bootRun
任务)在IDE中运行应用程序,也可以修改Eclipse使用的类路径。