Jetty 配置:dtd 问题

Jetty Configuration: problems with dtd

我正在使用 gradle 项目中嵌入的码头,服务器配置为 jetty.xml。码头有一个 XML 配置来使用 jettyRunWar(gradle 插件)。

这是 build.gradle 中的 jettyRunWar:

jettyRunWar{
    contextPath = "/"
    httpPort = 8080
    jettyConfig = file("./jetty.xml")
    reload = "automatic"
    scanIntervalSeconds = 10
    webApp = file("./build/libs/relevanteme.war")
}

这是 jetty.xml(配置)。

<?xml version="1.0"  encoding="ISO-8859-1"?>
<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure_9_0.dtd">

<Configure id="Server" class="org.eclipse.jetty.server.Server">

    <Set name="port"><SystemProperty name="jetty.port" default="8080"/></Set>

    <New id="webApp" class="org.eclipse.jetty.webapp.WebAppContext">
            <Set name="contextPath">/</Set>
            <Set name="war"><SystemProperty name="jetty.home" default="."/>./build/libs/relevanteme.war</Set>

            <Call name="addServlet">
            <Arg>vjsantojaca.relevante.background.servlets.IdentifyServlet</Arg>
            </Call>
    </New>

    <New id="Relevante" class="org.eclipse.jetty.plus.jndi.Resource">
        <Arg>jdbc/Relevante</Arg>
        <Arg>
            <New class="com.mysql.jdbc.jdbc2.optional.MysqlConnectionPoolDataSource">
               <Set name="Url">jdbc:mysql://localhost:3306/mail_classmachine</Set>
               <Set name="User">classmach</Set>
               <Set name="Password">lTk54ifRd</Set>
            </New>
         </Arg>
    </New>

    <Set name="handler">
        <New class="org.eclipse.jetty.server.handler.HandlerCollection">
            <Set name="handlers">
                <Array type="org.eclipse.jetty.server.Handler">
                    <Item>
                        <Ref refid="webApp" />
                    </Item>
                    <Item>
                        <New class="org.eclipse.jetty.server.handler.DefaultHandler" />
                    </Item>
                </Array>
            </Set>
        </New>
    </Set>

</Configure>

当我 运行 在 gradle 和 gradle 中使用命令 jettyRunWar 下载码头 xml 配置的 dtd 时,它给了我以下信息...

[org.mortbay.log] parsing: sid=file:/home/vjsantojaca/Developer/Relevante/relevanteme-web-2.0/jetty.xml,pid=null
[org.mortbay.log] resolveEntity(-//Jetty//Configure//EN, http://www.eclipse.org/jetty/configure_9_0.dtd)
[org.mortbay.log] Can't exact match entity in redirect map, trying configure_9_0.dtd
[sun.net.www.protocol.http.HttpURLConnection] sun.net.www.MessageHeader@5df6163a5 pairs: {GET /jetty/configure_9_0.dtd HTTP/1.1: null}{User-Agent: Java/1.8.0_31}{Host: www.eclipse.org}{Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2}{Connection: keep-alive}
[sun.net.www.protocol.http.HttpURLConnection] sun.net.www.MessageHeader@2d313c8c14 pairs: {null: HTTP/1.1 200 OK}{Date: Tue, 14 Apr 2015 15:49:05 GMT}{Server: Apache}{Last-Modified: Tue, 11 Mar 2014 16:28:22 GMT}{ETag: "4e2795-239e-4f45735653580"}{Accept-Ranges: bytes}{Content-Length: 9118}{Vary: Accept-Encoding}{Access-Control-Allow-Origin: http://eclipse.org ; https://eclipse.org ; http://www.eclipse.org ; https://www.eclipse.org}{Access-Control-Allow-Methods: GET}{X-NodeID: (null)}{Keep-Alive: timeout=3, max=200}{Connection: Keep-Alive}{Content-Type: text/x-dtd}

为什么会这样?

谢谢!!

org.mortbay.log 的引用意味着您正在使用旧的 Jetty-7 之前版本的 Jetty(可能是 Jetty 6)。

这就是你沮丧的原因。

您的 jettyRunWar 没有使用 Jetty 9,它使用的是 Jetty 6(?)