我正在尝试创建在spring-boot RELEASE.2.0.3
上运行的模块化微服务
我最近发现,在升级intellij IDEA时,我的spring-boot应用程序无法正确启动。
我回到发布在GitHub(https://github.com/jactor-rises/jactor-rises)上的代码,只是发现它没有同时使用mvn spring-boot:run
来运行...
问题: 使用maven构建发布在GitHub上的构建工作正常。我使用错误的配置来构建并使用以下代码更新了jactor-persistence-orm中的maven pom:
修改属性
<properties>
...
<maven-compiler-plugin.version>3.8.0</maven-compiler-plugin.version>
<maven-surefire-plugin.version>2.22.0</maven-surefire-plugin.version>
</properties>
编辑编译器插件
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>${maven-compiler-plugin.version}</version>
<configuration>
<source>${java.version}</source>
<target>${java.version}</target>
</configuration>
</plugin>
编辑过的surefire插件
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>${maven-surefire-plugin.version}</version>
</plugin>
我还通过添加关键字open
编辑了module-info.java:
open module jactor.rises.persistence.orm {
requires jactor.rises.commons;
...
现在,该项目可以像模块化Java 10应用程序一样正常编译,但是由于无效的spring-context,我的spring集成测试失败了。所有测试在我的IntelliJIdea上都运行良好,但是在命令行上执行maven时,它们将失败...
我无法理解出什么问题了,希望有人能发现它...
最简单的测试(加载弹簧配置):JactorPersistenceTest.java
surefire报告:
-------------------------------------------------------------------------------
Test set: com.github.jactor.rises.persistence.JactorPersistenceTest
-------------------------------------------------------------------------------
Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.015 s <<< FAILURE! - in com.github.jactor.rises.persistence.JactorPersistenceTest
com.github.jactor.rises.persistence.JactorPersistenceTest Time elapsed: 0.015 s <<< ERROR!
java.lang.IllegalStateException: Unable to find a @SpringBootConfiguration, you need to use @ContextConfiguration or @SpringBootTest(classes=...) with your test