如何解决jboss-deployment-structure.xml和全局模块wildfly 20
我一直在寻找Wildfly 20的全局模块和jboss-deployment-structure.xml的全局模块之间的区别,我在服务器中定义了几个模块,然后我构建了一个项目,而无需使用maven设置onw依赖项,然后当我在独立文件中声明全局项目的模块都可以正常工作,但是当我在独立文件上对此进行注释并在subdeployment jds.xml内声明时,该项目不能与tag-tiles或struts标签一起使用,这会引发org.apache.tiles.request .render.CannotRenderException:ServletException,包括路径“ /WEB-INF/jsp/tl/bas.jsp”。
jboss-deployment-structure.xml(version.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(version.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在独立的环境中不支持磁贴设置和全局模块的依赖?
PD:项目在jboss-deployment-structure.xml或global-modules设置下都成功部署,但是tile标签不适用于jboss-deployment-structure.xml设置依赖项
解决方法
我的详细问题是由于某种原因,他们从模块调用的jar文件在项目部署中不可用。然后,我做了一个简单的修改jboss-deployment-structure.xml,一切都很好。
我添加了meta-inf =“ export”属性。
<?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>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。