Spring 框架升级 5.X 导致错误 class 找不到 org.springframework.context.SmartLifecycle 文件
Spring Framework upgrade 5.X leads to error class file for org.springframework.context.SmartLifecycle not found
我一直在将其中一个应用程序从 3.X 升级到 spring framwork 5.X,我未能解决的问题之一是以下错误 - 这很有用共 spring-jms
cannot access org.springframework.context.SmartLifecycle [ERROR]
class file for org.springframework.context.SmartLifecycle not found
我可以看到最后一个版本完全相同的代码适用于 Spring 4.3.9(4.X 版本的最后一个版本)并中断 Spring 5.0.0(第一个 5.X 版本)
我没有看到我的代码公开 class SmartLifecycle
但我怀疑 DefaultMessageListenerContainer
实例有问题。
public class Factory {
private DefaultMessageListenerContainer testListnerService;
public void start() {
final TestMessageListener testMessageListener = new TestMessageListener();
testListnerService = new DefaultMessageListenerContainer(); <-- This is where compilation breaks
testListnerService.setMessageListener(testMessageListener);
testListnerService.setSessionTransacted(true);
testListnerService.afterPropertiesSet();
}
我在这里创建了最小的例子https://github.com/milandesai47/com.jms.test/blob/master/pom.xml#L33
我是否遗漏了任何明显的 spring 依赖项?
您需要将以下依赖项添加到您的 pom.xml:
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.0.0.RELEASE</version>
</dependency>
我一直在将其中一个应用程序从 3.X 升级到 spring framwork 5.X,我未能解决的问题之一是以下错误 - 这很有用共 spring-jms
cannot access org.springframework.context.SmartLifecycle [ERROR]
class file for org.springframework.context.SmartLifecycle not found
我可以看到最后一个版本完全相同的代码适用于 Spring 4.3.9(4.X 版本的最后一个版本)并中断 Spring 5.0.0(第一个 5.X 版本)
我没有看到我的代码公开 class SmartLifecycle
但我怀疑 DefaultMessageListenerContainer
实例有问题。
public class Factory {
private DefaultMessageListenerContainer testListnerService;
public void start() {
final TestMessageListener testMessageListener = new TestMessageListener();
testListnerService = new DefaultMessageListenerContainer(); <-- This is where compilation breaks
testListnerService.setMessageListener(testMessageListener);
testListnerService.setSessionTransacted(true);
testListnerService.afterPropertiesSet();
}
我在这里创建了最小的例子https://github.com/milandesai47/com.jms.test/blob/master/pom.xml#L33
我是否遗漏了任何明显的 spring 依赖项?
您需要将以下依赖项添加到您的 pom.xml:
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.0.0.RELEASE</version>
</dependency>