当前位置: 首页 > 知识库问答 >
问题:

WildFly中的类加载

慕容俭
2023-03-14

考虑下面的结构:代码> JBASS部署结构。ear的xml内部META-INF

<!-- Make sub deployments not isolated so they can see each others classes without a Class-Path entry (default is true) -->  
<ear-subdeployments-isolated>false</ear-subdeployments-isolated>  

<deployment>  
    <!-- Exclusions allow you to prevent the server from automatically adding some dependencies -->  
    <exclusions>  
        <module name="org.apache.xerces" />  
    </exclusions>  
</deployment>  

<sub-deployment name="mySubDeployment.war">  
    <exclusions>  
        <module name="org.apache.log4j" />  
    </exclusions>  
    <dependencies>  
        <system>  
            <paths>  
                <path name="com/sun/org/apache/xerces/internal/dom"/>  
                <path name="com/sun/org/apache/xerces/internal/xni"/>  
                <path name="com/sun/org/apache/xerces/internal/jaxp"/>  
            </paths>  
        </system>  
    </dependencies>  
</sub-deployment>  

鉴于此,我排除了defaultorg。阿帕奇。xerces部署模块(第11行)和部署自定义xercesImpl。jar位于APP-INF/lib文件夹或ear中。我还为mySubDeployment添加了路径依赖项。war部署

xerces类将从何处加载mySubDeployment.war?从WildFly的默认com.apache.xerces模块或部署在APP-INF/lib中的自定义jar?

在子部署中添加路径依赖项的确切含义是什么?这会忽略主部署下的排除(即,org.apache.xerces)吗?

共有1个答案

孔宇
2023-03-14

你不应该真的需要这些路径。您还必须为每个子部署排除Xerce。

此外,APP-INF目录不是标准JavaEE目录。您需要将库放在EAR的/lib目录中。

 类似资料:
  • 我无法运行战争,因为我配置了所有的模块在野生苍蝇,和这个战争是运行良好的jboss 6与相同的web.xml配置,当我部署在野生苍蝇后所有的设置为迁移然后我得到class NotFind异常,因为我有几个servlet映射在web.xml 欲了解更多信息,请在下面找到 在Wildfly我得到下面异常: 这里是web.xml http://java.sun.com/xml/ns/javaee/web

  • 我通过添加以下注释创建了MDB: 这个bean还实现了MessageListener接口,并覆盖了它的onMessage()方法,我在该方法中定义了日志消息到达时所需的行为。它看起来是这样的: 我还需要将JMS添加到WildFly的standalone.xml中,方法是从standalone-full.xml复制所有与JMS相关的行。我还需要将我的队列添加到standalone.xml中,将这一行

  • 我使用Wildfly 17,有两个无状态EJB,其中一个在JNDI查找时有时(但不总是)会导致问题。这是我的EJB: 当我部署我的应用程序时,我看到上面服务的以下日志: 我有一个ServiceLocator类,它是一个单例使用以下JNDI名称查找上述服务的存根: 现在,当我使用服务定位器获取服务存根时,我有时会得到下面的异常。但只是有时: 我在同一个war.模块中使用我的服务,在其中声明(相同的网

  • 我遇到的问题类似于以下情况:Jboss Wildfly EJB3和Mybatis部署错误:NoSuchMethodError javax.persistence.table.indexes()[ljavax/persistence/index;但这并没有阻止我部署EAR,我的问题发生在尝试执行DAO中的一个方法时,该方法使用Mybatis映射器,并对另一个映射器进行惰性加载引用。我得到以下异常:

  • 您好,我需要将我的Spring Boot应用程序部署到Wildfly 8.1中,我遇到以下异常: 原因:java。RuntimeException:java。lang.ClassCastException:组织。阿帕奇。公猫websocket。服务器WsServerContainer无法转换为io。下拖。websockets。jsr。io上的ServerWebSocketContainer。下拖。

  • 我正在将JBoss EAP 6升级到WildFly 10.1。在我们的应用程序中,我们使用中的SPNEGO身份验证机制。 我们在JBoss中使用了