【问题标题】:Wildfly 8.x ClassNotFoundException: org.jboss.virtual.VFSWildfly 8.x ClassNotFoundException:org.jboss.virtual.VFS
【发布时间】:2017-04-27 12:25:39
【问题描述】:

我正在尝试在 Wildfly 8.x 服务器上部署 ear 应用程序。

问题是当我想启动我的服务器时,日志控制台打印了以下错误:

    14:00:09,825 ERROR [org.springframework.core.io.VfsUtils] (MSC service thread 1-7) JBoss VFS packages (for both JBoss AS 5 and 6) were not found - JBoss VFS support disabled
    14:00:09,835 ERROR [org.springframework.web.context.ContextLoader] (MSC service thread 1-7) Context initialization failed: org.springframework.beans.factory.BeanDefinitionStoreException: Unexpected exception parsing XML document from ServletContext resource [/WEB-INF/beans/gardian_beans.xml]; nested exception is java.lang.ExceptionInInitializerError
            at 
   Caused by: java.lang.ExceptionInInitializerError
            at org.springframework.core.io.support.PathMatchingResourcePatternResolver$VfsResourceMatchingDelegate.findMatchingResources(PathMatchingResourcePatternResolver.java:652) [spring-core-3.2.9.RELEASE.jar:3.2.9.RELEASE]
            ... 24 more
   Caused by: java.lang.IllegalStateException: Cannot detect JBoss VFS packages
            at org.springframework.core.io.VfsUtils.<clinit>(VfsUtils.java:109) [spring-core-3.2.9.RELEASE.jar:3.2.9.RELEASE]
            ... 39 more
   Caused by: java.lang.ClassNotFoundException: org.jboss.virtual.VFS from [Module "org.springframework.spring:main" from local module loader @67117f44 (finder: local module finder @5d3411d (roots: /abb/assetsuite/wildfly-8.2.1.Final.as/modules,/abb/assetsuite/wildfly-8.2.1.Final.as/modules/system/layers/base))]
            at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:213) [jboss-modules.jar:1.3.3.Final]
            at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:459) [jboss-modules.jar:1.3.3.Final]
            at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:408) [jboss-modules.jar:1.3.3.Final]
            at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:389) [jboss-modules.jar:1.3.3.Final]
            at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:134) [jboss-modules.jar:1.3.3.Final]
            at org.springframework.core.io.VfsUtils.<clinit>(VfsUtils.java:99) [spring-core-3.2.9.RELEASE.jar:3.2.9.RELEASE]
            ... 39 more

我的 JBoss 无法识别 org.jboss.virtual.VFS 类。

这是我的module.xml 用于我的模块org.springframework.spring.main

<module xmlns="urn:jboss:module:1.0" name="org.springframework.spring">

    <resources>
        <resource-root path="aopalliance-1.0.0.jar"/>
        <!--<resource-root path="groovy-all-2.3.4.jar"/>-->
        <resource-root path="spring-aop-3.2.9.RELEASE.jar"/>
        <resource-root path="spring-beans-3.2.9.RELEASE.jar"/>
        <resource-root path="spring-context-3.2.9.RELEASE.jar"/>
        <resource-root path="spring-core-3.2.9.RELEASE.jar"/>
        <resource-root path="spring-expression-3.2.9.RELEASE.jar"/>
        <resource-root path="spring-jdbc-3.2.9.RELEASE.jar"/>
        <resource-root path="spring-jms-3.2.9.RELEASE.jar"/>
        <resource-root path="spring-tx-3.2.9.RELEASE.jar"/>
        <resource-root path="spring-web-3.2.9.RELEASE.jar"/>
    </resources>

    <dependencies>
        <module name="javax.api"/>
        <module name="javax.servlet.api"/>
        <module name="javax.jms.api"/>
        <module name="javax.annotation.api"/>
        <module name="org.apache.commons.logging"/>
    </dependencies>
</module>

当然,我的module.xml在同一个文件夹中引用了所有jar ..

【问题讨论】:

  • 看起来你需要一个对 org.jboss.vfs 的依赖。
  • 我已将您的解决方案移至社区 wiki 答案。

标签: spring jboss wildfly classnotfoundexception


【解决方案1】:

看起来你需要一个对 org.jboss.vfs 的依赖。

你可以解决这个问题

如果您的应用程序 WEB-INF\lib 文件夹下有 spring jar,则将以下依赖项添加到“jboss-deployment-structure.xml”文件中 或者,如果您将 spring 用作单独的模块,则必须将其作为依赖项添加到 spring 模块中的 module.xml 中。

<module name="org.jboss.vfs"></module>

【讨论】:

    【解决方案2】:

    OP 的解决方案。

    通过在我的module.xml 内的&lt;dependencies&gt; 中添加解决:

    <module name="org.jboss.vfs"/>
    

    不要忘记检查org.jboss.vfs folder 中是否有库。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-02-23
      • 2016-11-18
      • 2015-08-06
      • 2015-09-10
      • 1970-01-01
      • 1970-01-01
      • 2011-09-06
      • 2015-05-09
      相关资源
      最近更新 更多