java.lang.ClassNotFoundException:org.springframework.core.io.Resource

java.lang.ClassNotFoundException:org.springframework.core.io.Resource,java,spring,Java,Spring,我在eclipse中使用spring 4.0.5、Hibernate 4.3.5和JSF进行web开发,这是我的lib文件夹的内容: 当我运行项目时,出现以下错误: java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardC

我在eclipse中使用spring 4.0.5、Hibernate 4.3.5和JSF进行web开发,这是我的
lib
文件夹的内容:

当我运行项目时,出现以下错误:

java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/EMaEval]]
    at java.util.concurrent.FutureTask.report(Unknown Source)
    at java.util.concurrent.FutureTask.get(Unknown Source)
    at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1123)
    at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:799)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549)
    at java.util.concurrent.FutureTask.run(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)
Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/EMaEval]]
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)
    ... 6 more
Caused by: java.lang.NoClassDefFoundError: org/springframework/core/io/Resource
    at java.lang.Class.getDeclaredFields0(Native Method)
    at java.lang.Class.privateGetDeclaredFields(Unknown Source)
    at java.lang.Class.getDeclaredFields(Unknown Source)
    at org.apache.catalina.util.Introspection.getDeclaredFields(Introspection.java:106)
    at org.apache.catalina.startup.WebAnnotationSet.loadFieldsAnnotation(WebAnnotationSet.java:261)
    at org.apache.catalina.startup.WebAnnotationSet.loadApplicationListenerAnnotations(WebAnnotationSet.java:90)
    at org.apache.catalina.startup.WebAnnotationSet.loadApplicationAnnotations(WebAnnotationSet.java:63)
    at org.apache.catalina.startup.ContextConfig.applicationAnnotationsConfig(ContextConfig.java:403)
    at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:879)
    at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:374)
    at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
    at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5355)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    ... 6 more
Caused by: java.lang.ClassNotFoundException: org.springframework.core.io.Resource
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1720)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1571)
    ... 20 more
以下是配置文件:

web.xml


上下文配置位置
/WEB-INF/classes/application-context.xml
org.springframework.web.context.ContextLoaderListener
org.springframework.web.context.request.RequestContextListener
Facesservlet
javax.faces.webapp.FacesServlet
1.
Facesservlet
*.jsf
index.jsf
application context.xml


org.hibernate.dialogue.PostgreSqlDialogue
org.hibernate.connection.C3P0ConnectionProvider

如何解决这个问题?

org.springframework.core.io.Resource是
springcore-.jar


但此库已在您的库文件夹中。所以我想这只是一个部署问题尝试清理服务器并重新部署应用程序。

确保遵循类路径和lib文件夹中包含的jar文件

spring-core-3.0.5.RELEASE.jar

如果您使用的是maven,请确保包含了spring-core-3xxx.jar文件的依赖项

<dependency>
 <groupId>org.springframework</groupId>
 <artifactId>spring-core</artifactId>
 <version>${org.springframework.version}</version>
</dependency>

org.springframework
弹簧芯
${org.springframework.version}

注意:将${org.springframework.version}替换为版本号

右键单击项目->属性->部署程序集

在左侧面板上单击“添加”并添加“项目和外部依赖项”


项目和外部依赖项”将与应用程序一起部署所有与spring相关的jar

jar/依赖项之间存在版本冲突,请检查spring的所有版本是否相同。 如果使用maven,请删除依赖项的版本,并使用Spring.io dependency.it处理版本冲突。将此添加到您的pom中

 <dependency>
            <groupId>io.spring.platform</groupId>
            <artifactId>platform-bom</artifactId>
            <version>2.0.1.RELEASE</version>
            <type>pom</type>
            <scope>import</scope>
  </dependency>

io.spring.platform
平台物料清单
2.0.1.1发布
聚甲醛
进口

尽管jar位于lib目录中并添加到Eclipse中的部署程序集中,但我还是收到了相同的错误

所以我怀疑两件事

1.某些Weblogic缓存问题-由于此应用程序之前已部署&我在一些更改后尝试重新部署

2.由于部分下载等原因,Jar本身已损坏


所以我重新下载了jar并删除了目录-。\Oracle\u Home\user\u projects\domains\base\u domain\lib中的所有内容,然后再次重新部署&一切顺利

在类路径而不是modulepath上添加jar文件


检查您是否已将所有JAR导出为旁注:也许您应该考虑使用Maven或Gradle?@最重要的是,您的意思是我是否已将所有Spring的JAR导入?您正在显示您的
eclipse
视图,只需检查最终
war
文件中的
lib
文件夹并查找
spring-core-4.0.5.RELEASE.jar
就可以了,我使用eclipse的干净和干净的tomcat工作目录来重新部署我的应用程序。我不知道出现这种情况的原因。我的Spring 5项目中已经有了Spring-core-5.0.8,但是收到这个错误并没有帮助。尽管如此,在Atlassian pluginsThanks中遇到了spring的问题这确实有帮助,我在modulepath中添加了JAR文件,因为出现了错误。