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>

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...