首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何启用Wildfly 9中JSP的即时编译?

如何启用Wildfly 9中JSP的即时编译?
EN

Stack Overflow用户
提问于 2015-08-03 19:28:28
回答 3查看 8.3K关注 0票数 6

我用的是野生蝇9.0.0.CR2。如何启用JSP的即时编译?我在另一个线程中找到了这个配置。

代码语言:javascript
复制
    <subsystem xmlns="urn:jboss:domain:web:1.4" default-virtual-server="default-host" native="false">
        <configuration>
            <jsp-configuration development="true" check-interval="1" modification-test-interval="1" recompile-on-fail="true"/>
        </configuration>
    </subsystem>

但是遗憾的是,当我重新启动我的JBoss服务器…时,它不起作用了,导致了下面的异常

代码语言:javascript
复制
    14:23:05,224 ERROR [org.jboss.as.server] (Controller Boot Thread) WFLYSRV0055: Caught exception during boot: org.jboss.as.controller.persistence.ConfigurationPersistenceException: WFLYCTL0085: Failed to parse configuration
        at org.jboss.as.controller.persistence.XmlConfigurationPersister.load(XmlConfigurationPersister.java:131)
        at org.jboss.as.server.ServerService.boot(ServerService.java:350)
        at org.jboss.as.controller.AbstractControllerService$1.run(AbstractControllerService.java:271)
        at java.lang.Thread.run(Thread.java:745)
    Caused by: javax.xml.stream.XMLStreamException: ParseError at [row,col]:[442,2]
Message: Unexpected element '{urn:jboss:domain:web:1.4}subsystem'
        at org.jboss.staxmapper.XMLMapperImpl.processNested(XMLMapperImpl.java:108)
        at org.jboss.staxmapper.XMLExtendedStreamReaderImpl.handleAny(XMLExtendedStreamReaderImpl.java:69)
        at org.jboss.as.server.parsing.StandaloneXml.parseServerProfile(StandaloneXml.java:1199)
        at org.jboss.as.server.parsing.StandaloneXml.readServerElement_1_4(StandaloneXml.java:457)
        at org.jboss.as.server.parsing.StandaloneXml.readElement(StandaloneXml.java:144)
        at org.jboss.as.server.parsing.StandaloneXml.readElement(StandaloneXml.java:106)
        at org.jboss.staxmapper.XMLMapperImpl.processNested(XMLMapperImpl.java:110)
        at org.jboss.staxmapper.XMLMapperImpl.parseDocument(XMLMapperImpl.java:69)
        at org.jboss.as.controller.persistence.XmlConfigurationPersister.load(XmlConfigurationPersister.java:123)
        ... 3 more
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-08-03 20:29:21

这是一个XML解析问题,从这个错误消息javax.xml.stream.XMLStreamException: ParseError中可以看出。此特定行Unexpected element{urn:jboss:domain:web:1.4}subsystem的解析失败。

您可以查看XML模式文档,找出这些类型的XML解析问题。架构位于WildFly的docs文件夹下。

顺便说一句,您应该使用WildFly-9.0.1.Final构建版本,因为这是最新发布的候选版本。

您很可能需要对下面的子系统进行更改。以下是我更新的一个例子:

代码语言:javascript
复制
 <subsystem xmlns="urn:jboss:domain:undertow:2.0">
            <buffer-cache name="default"/>
            <server name="default-server">
                <http-listener name="default" socket-binding="http" redirect-socket="https"/>
                <host name="default-host" alias="localhost">
                    <location name="/" handler="welcome-content"/>
                    <filter-ref name="server-header"/>
                    <filter-ref name="x-powered-by-header"/>
                </host>
            </server>
            <servlet-container name="default">
                <jsp-config development="true" check-interval="1" modification-test-interval="1" recompile-on-fail="true"/>
                <websockets/>
            </servlet-container>
            <handlers>
                <file name="welcome-content" path="${jboss.home.dir}/welcome-content"/>
            </handlers>
            <filters>
                <response-header name="server-header" header-name="Server" header-value="WildFly/9"/>
                <response-header name="x-powered-by-header" header-name="X-Powered-By" header-value="Undertow/1"/>
            </filters>
        </subsystem>

我强烈建议使用CLI进行这样的更改:

代码语言:javascript
复制
/subsystem=undertow/servlet-container=default/setting=jsp:write-attribute(name=development,value=true)
/subsystem=undertow/servlet-container=default/setting=jsp:write-attribute(name=recompile-on-fail,value=true)
/subsystem=undertow/servlet-container=default/setting=jsp:write-attribute(name=check-interval,value=1)
/subsystem=undertow/servlet-container=default/setting=jsp:write-attribute(name=modification-test-interval,value=1)

这样,您就可以避免这些XML解析错误,而不必找到确切的XML模式。

票数 7
EN

Stack Overflow用户

发布于 2016-11-18 18:58:15

搜索子系统并将其添加到jsp配置中。

代码语言:javascript
复制
<subsystem xmlns="urn:jboss:domain:undertow:1.1"><br>. . . .<br>   <servlet-container name="default" default-buffer-cache="default" stack-trace-on-error="local-only">
   <jsp-config development="true" check-interval="1" modification-test-interval="1" recompile-on-fail="true"/>
票数 4
EN

Stack Overflow用户

发布于 2015-08-03 20:34:48

确保您正在加载下拖曳扩展部分。否则,子系统配置无法加载。除此之外,您的语法是正确的。

代码语言:javascript
复制
<extensions>
    <!-- other extensions here -->
    <extension module="org.wildfly.extension.undertow"/>
</extensions>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31795274

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档