Java 在jar中找不到位于maven依赖项中的bean to autowire,

Java 在jar中找不到位于maven依赖项中的bean to autowire,,java,eclipse,spring,maven,Java,Eclipse,Spring,Maven,我使用maven添加了带有bean的jar。 然后我想在上下文文件中自动关联它们 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www

我使用maven添加了带有bean的jar。 然后我想在上下文文件中自动关联它们

    <?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">

    <bean id="statisticsService" class="com.ac.kpi.AcStatisticsService">
        <constructor-arg name="dataService" ref="acDataService"/>
    </bean>

</beans>
尽管所有maven依赖项都已导入并存在。
此外,在Idea中,在LinuxOS everyring工作中,问题只存在于eclipse和Windows操作系统中。

如果Spring没有找到任何要自动连接的bean,则会引发此类异常。这可能是因为您正在自动连接一个接口,但没有该接口的实际实现。检查您的统计服务是否存在这种情况。

如果Spring没有找到任何要自动连线的bean,则会引发此类异常。这可能是因为您正在自动连接一个接口,但没有该接口的实际实现。检查您的统计服务是否属于这种情况。

我有时也会遇到同样的问题。删除.m2中的本地com.ac.*包文件,然后再次下载。

我有时也会遇到同样的问题。删除.m2中的本地com.ac.*包文件,然后再次下载。

检查包含spring jar的war/ear文件。检查pom文件中jar的作用域。看起来一切正常,此外,另一个bean已正确加载。是否在根上下文xml中添加了注释驱动标记?检查war/ear文件,其中包含spring jar。检查pom文件中jar的范围。看起来一切正常,而且,另一个bean已正确加载。您是否在根上下文xml中添加了注释驱动标记?是的,它是接口,您能告诉我为什么无法将接口用于autowire吗?我写了一个实际的答案,因为我没有足够的声誉来写评论。。。我要重新措辞我的回答对不起@Edgar您可以自动连接一个接口,但您还需要该接口的实现,否则Spring将找不到它,因此它将引发此异常。实现存在于同一个jar中。好的,那么问题可能是构造函数参数。你在别的地方注册过那个豆子吗?如果没有,只需在beans.xml中添加以下行:是的,它是接口,您能告诉我为什么不能将接口用于autowire吗?我写了一个实际的答案,因为我没有足够的声誉来写评论。。。我要重新措辞我的回答对不起@Edgar您可以自动连接一个接口,但您还需要该接口的实现,否则Spring将找不到它,因此它将引发此异常。实现存在于同一个jar中。好的,那么问题可能是构造函数参数。你在别的地方注册过那个豆子吗?如果没有,只需在beans.xml中添加以下行:
Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [com.ac.kpi.StatisticsService] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}
at org.springframework.beans.factory.support.DefaultListableBeanFactory.raiseNoSuchBeanDefinitionException(DefaultListableBeanFactory.java:1326)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1072)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:967)
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:543)