【问题标题】:jetty 9 symlink to exploded warjetty 9 符号链接到爆炸的战争
【发布时间】:2013-05-10 04:58:32
【问题描述】:

我刚刚从 8 升到 Jetty 9,遇到了一个奇怪的问题。我的开发环境是一场爆炸式的战争,所以我只需将一个符号链接(ROOT)放到我的 jetty/webapps 目录中,指向我的爆炸式战争。这对于 Jetty 8 来说效果很好,但对于 Jetty 9 似乎失败了。

首先,根据文档,符号链接现在是“根”。但是当我点击我的服务器'/'时,它给了我一个 404 和这个:

Error 404 - Not Found.

No context on this server matched or handled this request.
Contexts known to this server are:
/war ---> o.e.j.w.WebAppContext@613714d3{/war,file:/home/george/git/s/web_app/war/,AVAILABLE}{/home/george/git/s/web_app/war}

意味着我可以在“/war”下找到我的应用程序,而不仅仅是“/”。古怪。

【问题讨论】:

    标签: jetty


    【解决方案1】:

    这是由于许多变化,主要指向 Java 7 的使用和对更新的 Servlet 规范的要求。

    很容易解决您的情况。

    1. 不要使用操作系统符号链接。
    2. 使用以下内容创建一个名为${jetty.home}/webapps/mywebapp.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 class="org.eclipse.jetty.webapp.WebAppContext">
      <Set name="contextPath">/</Set>
      <Set name="war">/home/george/git/s/web_app/war/</Set>
    </Configure>
    

    全部完成,您现在实际上是在使用 Jetty Deployable XML DescriptorcontextPath 设置为 /(又名 Servlet Spec Root)并指向您要部署的战争。

    【讨论】:

      猜你喜欢
      • 2014-02-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多