未找到 SpringApplicationConfiguration:错误 spring-boot-starter-test 内容?
SpringApplicationConfiguration not found: Erroneous spring-boot-starter-test content?
在 Maven 中出现编译错误:
[INFO] -------------------------------------------------------------
[ERROR] COMPILATION ERROR :
[INFO] -------------------------------------------------------------
[ERROR] /C:/prototypes/demo-sse-spring-boot-master/src/test/java/com/cedric/demo/sse/SseDemoApplicationTests.java:[6,37] package org.springframework.boot.test does not exist
[ERROR] /C:/TITAN/demo-sse-spring-boot-master/src/test/java/com/cedric/demo/sse/SseDemoApplicationTests.java:[10,2] cannot find symbol
symbol: class SpringApplicationConfiguration
[INFO] 2 errors
[INFO] -------------------------------------------------------------
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
Maven 仓库似乎有 jar:
但是那个 jar 里面没有任何编译的 classes。只有 META-INF 目录:
这是设计使然吗?我从哪里得到包含 SpringApplicationConfiguration class 的 jar 来让 Maven 开心?
这是我的 pom.xml 的相关部分:
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.1.RELEASE</version>
<relativePath/>
<!-- lookup parent from repository -->
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
</dependency>
<dependency>
<groupId>org.webjars.bower</groupId>
<artifactId>jquery</artifactId>
<version>2.1.3</version>
</dependency>
<dependency>
<groupId>org.webjars</groupId>
<artifactId>bootstrap</artifactId>
<version>3.3.1</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.16.4</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
spring-boot-starter-test
,与所有其他 Spring 引导启动器一样,实际上只是一个 pom,它可以传递地引入许多其他依赖项。它只有一个 jar 来保持一些不喜欢 pom-only 依赖的构建系统。
您似乎已将应用程序从 Spring Boot 1.4 升级到 Spring Boot 1.5。 Spring Boot 1.5 删除了一些在 1.4 中弃用的 类,包括 org.springframework.boot.test.SpringApplicationConfiguration
.
我建议回到 Spring Boot 1.4.4.RELEASE 并修复所有弃用警告。然后您应该可以毫无困难地升级到 Spring Boot 1.5。1.RELEASE。
在您的版本中,@SpringApplicationConfiguration
注释不再存在。新注释是:
@RunWith(SpringRunner.class)
@SpringBootTest(classes = YourApplicationMainClass.class)
@WebAppConfiguration
由于错误是由于 Spring Boot 从 1.4 升级到 1.5,重要的是要注意(从下面)1.4 中引入的几个新 类 弃用了一些现有 类 最终在 1.5 中被删除的主要方式。有关详细信息,请访问:Spring boot release notes
引自网站(已编辑):
此外,Spring Boot 1.4(及更高版本)试图合理化和简化 Spring 引导测试可以 运行 的各种方式。您应该迁移以下内容以使用新的 @SpringBootTest 注释:
From @SpringApplicationConfiguration(classes=MyConfig.class)
to @SpringBootTest(classes=MyConfig.class)
From @ContextConfiguration(classes=MyConfig.class, loader=SpringApplicationContextLoader.class)
to
@SpringBootTest(classes=MyConfig.class)
From @IntegrationTest
to
@SpringBootTest(webEnvironment=WebEnvironment.NONE)
From @IntegrationTest
with @WebAppConfiguration
to
@SpringBootTest(webEnvironment=WebEnvironment.DEFINED_PORT) (or RANDOM_PORT)
From @WebIntegrationTest
to
@SpringBootTest(webEnvironment=WebEnvironment.DEFINED_PORT) (or RANDOM_PORT)
Tip Whilst migrating tests you may also want to replace any
@RunWith(SpringJUnit4ClassRunner.class)
declarations with Spring 4.3’s
more readable @RunWith(SpringRunner.class)
.
在 Maven 中出现编译错误:
[INFO] -------------------------------------------------------------
[ERROR] COMPILATION ERROR :
[INFO] -------------------------------------------------------------
[ERROR] /C:/prototypes/demo-sse-spring-boot-master/src/test/java/com/cedric/demo/sse/SseDemoApplicationTests.java:[6,37] package org.springframework.boot.test does not exist
[ERROR] /C:/TITAN/demo-sse-spring-boot-master/src/test/java/com/cedric/demo/sse/SseDemoApplicationTests.java:[10,2] cannot find symbol
symbol: class SpringApplicationConfiguration
[INFO] 2 errors
[INFO] -------------------------------------------------------------
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
Maven 仓库似乎有 jar:
但是那个 jar 里面没有任何编译的 classes。只有 META-INF 目录:
这是设计使然吗?我从哪里得到包含 SpringApplicationConfiguration class 的 jar 来让 Maven 开心?
这是我的 pom.xml 的相关部分:
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.1.RELEASE</version>
<relativePath/>
<!-- lookup parent from repository -->
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
</dependency>
<dependency>
<groupId>org.webjars.bower</groupId>
<artifactId>jquery</artifactId>
<version>2.1.3</version>
</dependency>
<dependency>
<groupId>org.webjars</groupId>
<artifactId>bootstrap</artifactId>
<version>3.3.1</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.16.4</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
spring-boot-starter-test
,与所有其他 Spring 引导启动器一样,实际上只是一个 pom,它可以传递地引入许多其他依赖项。它只有一个 jar 来保持一些不喜欢 pom-only 依赖的构建系统。
您似乎已将应用程序从 Spring Boot 1.4 升级到 Spring Boot 1.5。 Spring Boot 1.5 删除了一些在 1.4 中弃用的 类,包括 org.springframework.boot.test.SpringApplicationConfiguration
.
我建议回到 Spring Boot 1.4.4.RELEASE 并修复所有弃用警告。然后您应该可以毫无困难地升级到 Spring Boot 1.5。1.RELEASE。
在您的版本中,@SpringApplicationConfiguration
注释不再存在。新注释是:
@RunWith(SpringRunner.class)
@SpringBootTest(classes = YourApplicationMainClass.class)
@WebAppConfiguration
由于错误是由于 Spring Boot 从 1.4 升级到 1.5,重要的是要注意(从下面)1.4 中引入的几个新 类 弃用了一些现有 类 最终在 1.5 中被删除的主要方式。有关详细信息,请访问:Spring boot release notes
引自网站(已编辑):
此外,Spring Boot 1.4(及更高版本)试图合理化和简化 Spring 引导测试可以 运行 的各种方式。您应该迁移以下内容以使用新的 @SpringBootTest 注释:
From
@SpringApplicationConfiguration(classes=MyConfig.class)
to@SpringBootTest(classes=MyConfig.class)
From
@ContextConfiguration(classes=MyConfig.class, loader=SpringApplicationContextLoader.class)
to@SpringBootTest(classes=MyConfig.class)
From
@IntegrationTest
to@SpringBootTest(webEnvironment=WebEnvironment.NONE)
From
@IntegrationTest
with@WebAppConfiguration
to@SpringBootTest(webEnvironment=WebEnvironment.DEFINED_PORT) (or RANDOM_PORT)
From
@WebIntegrationTest
to@SpringBootTest(webEnvironment=WebEnvironment.DEFINED_PORT) (or RANDOM_PORT)
Tip Whilst migrating tests you may also want to replace any
@RunWith(SpringJUnit4ClassRunner.class)
declarations with Spring 4.3’s more readable@RunWith(SpringRunner.class)
.