首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >元素类型"Host“必须由匹配的结束标记"</Host>”终止。

元素类型"Host“必须由匹配的结束标记"</Host>”终止。
EN

Stack Overflow用户
提问于 2012-09-24 18:42:19
回答 4查看 7.6K关注 0票数 1

我正在创建一个简单的网络应用程序。我在服务器配置上遇到了问题。当我试图启动服务器时,我收到了一个错误元素类型"Host“必须由匹配的结束标记”“终止

但是,我的Host看起来是这样的(当然,它是关闭的):

代码语言:javascript
运行
复制
<?xml version="1.0" encoding="UTF-8"?>
<Server port="${base.shutdown.port}" shutdown="SHUTDOWN">
    <Listener className="org.apache.catalina.core.JasperListener" />
    <Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" />
    <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener"/>
    <Listener 
        className="com.springsource.tcserver.serviceability.deploy.TcContainerDeployer" />
    <Listener accessFile="${catalina.base}/conf/jmxremote.access"
        authenticate="true" bind="127.0.0.1"
        className="com.springsource.tcserver.serviceability.rmi.JmxSocketListener"
        passwordFile="${catalina.base}/conf/jmxremote.password" port="${base.jmx.port}"
        useSSL="false" />
    <GlobalNamingResources>
        <Resource auth="Container" description="User database that can be updated and saved"
            factory="org.apache.catalina.users.MemoryUserDatabaseFactory" name="UserDatabase"
            pathname="conf/tomcat-users.xml" type="org.apache.catalina.UserDatabase" />
    </GlobalNamingResources>
    <Service name="Catalina">
        <Executor maxThreads="300" minSpareThreads="50" name="tomcatThreadPool"
        namePrefix="tomcat-http--" />
        <Engine defaultHost="localhost" name="Catalina">
            <Realm className="org.apache.catalina.realm.LockOutRealm">
                <Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase" />
            </Realm>
            <Host appBase="webapps" autoDeploy="true" deployOnStartup="true"
            deployXML="true" name="localhost" unpackWARs="true">
                <Valve directory="logs" pattern="%h %l %u %t &quot;%r&quot; %s %b" prefix="localhost_access_log."
                suffix=".txt" className="org.apache.catalina.valves.AccessLogValve"/>
                <Context docBase="SimpleBlog" path="/simpleblog" reloadable="true"
                source="org.eclipse.jst.jee.server:SimpleBlog"/>
            </Host>
        </Engine>
        <Connector acceptCount="100" connectionTimeout="20000"
            executor="tomcatThreadPool" maxKeepAliveRequests="15" port="${bio.http.port}"
            protocol="org.apache.coyote.http11.Http11Protocol" redirectPort="${bio.https.port}" />
    </Service>
    <Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener" />
</Server>

我有以下错误:

无法清除过时文件:元素类型"Host“必须由匹配的结束标记"”终止。

元素类型"Host“必须由匹配的结束标记"</Host>".**终止,但是如果我使用管理员(win7)的权限运行应用程序,怎么可能呢?

完整的堆栈跟踪是:

代码语言:javascript
运行
复制
SEVERE: Parse Fatal Error at line 22 column 11: The element type "Host" must be terminated by the matching end-tag "</Host>".
org.xml.sax.SAXParseException; systemId: file:/C:/Program%20Files/Spring%20Tool%20SUite/vfabric-tc-server-developer-2.7.1.RELEASE/spring-insight-instance/conf/server.xml; lineNumber: 22; columnNumber: 11; The element type "Host" must be terminated by the matching end-tag "</Host>".
    at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:198)
    at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(ErrorHandlerWrapper.java:177)
    at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:441)
    at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:368)
    at com.sun.org.apache.xerces.internal.impl.XMLScanner.reportFatalError(XMLScanner.java:1375)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanEndElement(XMLDocumentFragmentScannerImpl.java:1708)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2898)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:607)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:488)
    at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:835)
    at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:764)
    at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:123)
    at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1210)
    at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:568)
    at org.apache.tomcat.util.digester.Digester.parse(Digester.java:1537)
    at org.apache.catalina.startup.Catalina.load(Catalina.java:601)
    at org.apache.catalina.startup.Catalina.load(Catalina.java:649)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:601)
    at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:281)
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:450)
EN

回答 4

Stack Overflow用户

发布于 2012-12-15 18:56:02

问题是基本实例server.xml没有更新。因此,在基本实例(如C:\sw\STS\vfabric-tc-server-developer-2.7.2.RELEASE\base-instance\conf )下手动更新server.xml

票数 2
EN

Stack Overflow用户

发布于 2016-01-09 02:43:26

对于后代而言,@ your 1575688的回答是非常正确的,其中一个原因可能是磁盘是否已满(可能是由于崩溃导致的核心转储)。您可以将server.xml (或导致错误的其他xml文件)从workspace/Servers/<server-config>/conf/复制到$CATALINA_BASE/conf/

票数 0
EN

Stack Overflow用户

发布于 2017-05-06 00:31:13

我遇到了这个问题,并发现我定义了一个在任何用户中都没有使用的角色。当我删除这个角色时,一切都很顺利。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12570934

复制
相关文章

相似问题

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