jboss-deployment-structure.xml和全局模块wildfly 20



我一直在寻找wildfly 20和jboss-deployment-structure.xml的全局模块之间的差异,我在服务器中定义了几个模块,然后我在没有maven设置onw依赖项的情况下构建了一个项目,然后当我在独立文件中声明全局项目的模块时,所有模块都能完美工作,但当我在单机上评论这一点时,并在子部署j-d-s.xml中声明这一点,该项目不使用标记tiles或struts标记,这会抛出org.apache.tiles.request.render.CannotRenderException:ServletException,包括路径'/WEB-INF/jsp/tl/bas.jsp'。

jboss-deployment-structure.xml(1.0版(

<?xml version="1.0" encoding="UTF-8"?>
<jboss-deployment-structure>
<!-- <deployment>
<exclusions>
<module name="org.apache.log4j" />
</exclusions>
</deployment> -->
<sub-deployment name="project.war">
<dependencies>
<module name="own.org.apache.tiles" />
<module name="own.org.apache.struts2" />
<module name="own.org.apache.commons" />
<module name="own.org.apache.logging" />
<module name="own.freemarker" />
<module name="own.javassist" />
<module name="own.ognl" />
</dependencies>
<!-- <exclusions>
<module name="org.apache.log4j" />
</exclusions> -->
</sub-deployment>
</jboss-deployment-structure>

jboss-deployment-structure.xml(1.1版(

<?xml version="1.0" encoding="UTF-8"?>
<jboss-deployment-structure>
<deployment>
<dependencies>
<module name="own.org.apache.tiles" />
<module name="own.org.apache.struts2" />
<module name="own.org.apache.commons" />
<module name="own.org.apache.logging" />
<module name="own.freemarker" />
<module name="own.javassist" />
<module name="own.ognl" />
</dependencies>
<exclusions>
<module name="org.apache.log4j" />
</exclusions>
</deployment> 
<sub-deployment name="project.war">
<dependencies>
<module name="own.org.apache.tiles" />
<module name="own.org.apache.struts2" />
<module name="own.org.apache.commons" />
<module name="own.org.apache.logging" />
<module name="own.freemarker" />
<module name="own.javassist" />
<module name="own.ognl" />
</dependencies>
<exclusions>
<module name="org.apache.log4j" />
</exclusions>
</sub-deployment>
</jboss-deployment-structure>

代码段standalone.xml

<subsystem xmlns="urn:jboss:domain:ee:5.0">
<global-modules>
<module name="own.org.apache.struts2" slot="main"/>
<module name="own.org.apache.commons" slot="main"/>
<module name="own.org.apache.logging" slot="main"/>
<module name="own.freemarker" slot="main"/>
<module name="own.javassist" slot="main"/>
<module name="own.ognl" slot="main"/>
<module name="own.org.apache.tiles" slot="main"/>
</global-modules> 
<subsystem/>

server.log

2020-08-12 09:25:44,414 INFO  [stdout] (default task-1) org.apache.tiles.request.render.CannotRenderException: ServletException including path '/WEB-INF/jsp/til/bf.jsp'.
...
2020-08-12 09:25:44,418 INFO  [stdout] (default task-1) Caused by: java.io.IOException: ServletException including path '/WEB-INF/jsp/til/bf.jsp'.
...
2020-08-12 09:25:44,418 INFO  [stdout] (default task-1)     at org.apache.tiles.request.servlet.ServletUtil.wrapServletException(ServletUtil.java:63) ~[tiles-request-servlet-1.0.7.jar!/:1.0.7]
...
2020-08-12 09:25:44,418 INFO  [stdout] (default task-1) Caused by: org.apache.jasper.JasperException: JBWEB004113: The absolute uri: http://tiles.apache.org/tags-tiles cannot be resolved in either web.xml or the jar files deployed with this application
...
2020-08-12 09:25:44,421 INFO  [stdout] (default task-1) 2020-08-12 09:25:44,420 DEBUG [default task-1] dispatcher.DefaultDispatcherErrorHandler (DefaultDispatcherErrorHandler.java:108) - Exception occurred during processing request: ServletException including path '/WEB-INF/jsp/til/bf.jsp'.
...
2020-08-12 09:25:44,421 INFO  [stdout] (default task-1) org.apache.tiles.request.render.CannotRenderException: ServletException including path '/WEB-INF/jsp/til/bf.jsp'.2020-08-12 09:25:44,421 INFO  [stdout] (default task-1) org.apache.tiles.request.render.CannotRenderException: ServletException including path '/WEB-INF/jsp/til/bf.jsp'.
...
2020-08-12 09:25:44,424 INFO  [stdout] (default task-1) Caused by: java.io.IOException: ServletException including path '/WEB-INF/jsp/til/bf.jsp'.
...
2020-08-12 09:25:44,424 INFO  [stdout] (default task-1) Caused by: org.apache.jasper.JasperException: JBWEB004113: The absolute uri: http://tiles.apache.org/tags-tiles cannot be resolved in either web.xml or the jar files deployed with this application

问题是,为什么jboss-deployment-structure.xml不能在独立的yes中使用tile设置和全局模块的依赖项???

PD:项目在设置、jboss-deployment-structure.xml或全局模块方面都部署成功,但tiles标签不适用于jboss-deloyment-stucture.xml设置依赖项

我的详细问题是,由于某种原因,他们从模块中调用的一些jar文件在项目部署中不可用。然后,我做了一个简单的修改jboss-deployment-structure.xml,一切都很好。

我添加了meta-inf=";"出口";所有物

<?xml version="1.0" encoding="UTF-8"?>
<jboss-deployment-structure>
<!-- <deployment>
<exclusions>
<module name="org.apache.log4j" />
</exclusions>
</deployment> -->
<sub-deployment name="project.war">
<dependencies>
<module name="own.org.apache.tiles" meta-inf="export" />
<module name="own.org.apache.struts2" meta-inf="export" />
<module name="own.org.apache.commons" meta-inf="export" />
<module name="own.org.apache.logging" meta-inf="export" />
<module name="own.freemarker" meta-inf="export" />
<module name="own.javassist" meta-inf="export" />
<module name="own.ognl" meta-inf="export" />
</dependencies>
<!-- <exclusions>
<module name="org.apache.log4j" />
</exclusions> -->
</sub-deployment>
</jboss-deployment-structure>

最新更新