在 Wildfly 10 中,一个 WAR 中的 class 可以在同一 EAR 中另一个 WAR 的 web.xml 中引用吗?
Can a class in one WAR be referenced in web.xml of another WAR in the same EAR, in Wildfly 10?
我的耳朵有 2 个 .war 个文件。
在war#1中,在WEB-INF/classes/com/my下面有一个BatchTriggerBuildServlet.class
在 war #2 我的 web.xml 中有以下内容(在其 WEB-INF 中)
(对 war #1 中的 class 的引用):
<web-app id="WebApp">
<!-- other stuff -->
<servlet>
<servlet-name>BatchTriggerBuildServlet</servlet-name>
<display-name>BatchTriggerBuildServlet</display-name>
<servlet-class>com.my.BatchTriggerBuildServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>BatchTriggerBuildServlet</servlet-name>
<url-pattern>/BatchTriggerBuildServlet</url-pattern>
</servlet-mapping>
<!-- other stuff -->
</web-app>
这是在 Wildfly 10 中部署的。
我在包含 .ear 的 META-INF 文件夹中也有一个 jboss-deployment-structure.xml,其中包含以下内容:
<?xml version="1.0" encoding="UTF-8"?>
<jboss-deployment-structure>
<!-- Make sub deployments NOT isolated by default, so they can see each others classes without a Class-Path entry -->
<ear-subdeployments-isolated>false</ear-subdeployments-isolated>
</jboss-deployment-structure>
这是合法的吗?因为当我尝试部署耳朵时,我得到了上述 class 的 ClassNotFoundException,以及它
的消息
"Failed to start service ... from [Module "<my ear name>.<my war #2 name>:main" from Service Module Loader]"
有没有办法让它工作?
提前致谢。
ear-subdeployments-isolated
不适用于 Web 模块,它们始终相互隔离。参见 Class Loading in WildFly。
尝试将 类 及其依赖项移动到 EAR/lib 目录中的 jar 中。
我的耳朵有 2 个 .war 个文件。
在war#1中,在WEB-INF/classes/com/my下面有一个BatchTriggerBuildServlet.class
在 war #2 我的 web.xml 中有以下内容(在其 WEB-INF 中) (对 war #1 中的 class 的引用):
<web-app id="WebApp">
<!-- other stuff -->
<servlet>
<servlet-name>BatchTriggerBuildServlet</servlet-name>
<display-name>BatchTriggerBuildServlet</display-name>
<servlet-class>com.my.BatchTriggerBuildServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>BatchTriggerBuildServlet</servlet-name>
<url-pattern>/BatchTriggerBuildServlet</url-pattern>
</servlet-mapping>
<!-- other stuff -->
</web-app>
这是在 Wildfly 10 中部署的。 我在包含 .ear 的 META-INF 文件夹中也有一个 jboss-deployment-structure.xml,其中包含以下内容:
<?xml version="1.0" encoding="UTF-8"?>
<jboss-deployment-structure>
<!-- Make sub deployments NOT isolated by default, so they can see each others classes without a Class-Path entry -->
<ear-subdeployments-isolated>false</ear-subdeployments-isolated>
</jboss-deployment-structure>
这是合法的吗?因为当我尝试部署耳朵时,我得到了上述 class 的 ClassNotFoundException,以及它
的消息"Failed to start service ... from [Module "<my ear name>.<my war #2 name>:main" from Service Module Loader]"
有没有办法让它工作? 提前致谢。
ear-subdeployments-isolated
不适用于 Web 模块,它们始终相互隔离。参见 Class Loading in WildFly。
尝试将 类 及其依赖项移动到 EAR/lib 目录中的 jar 中。