2013-05-10 58 views
1

我刚从8码头跳到码头9,并有一个奇怪的问题。我的开发环境是一场爆炸性战争,所以我简单地将一个符号链接(ROOT)放入我的jetty/webapps目录中,指向我的爆炸战争。这对Jetty 8来说工作得很好,但对于Jetty 9来说似乎失败了。码头9符号链接爆炸战

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

Error 404 - Not Found. 

No context on this server matched or handled this request. 
Contexts known to this server are: 
/war ---> [email protected]{/war,file:/home/george/git/s/web_app/war/,AVAILABLE}{/home/george/git/s/web_app/war} 

这意味着我可以找到在“/战争”,而不仅仅是“/”我的应用程序服务。古怪。

回答

3

这是由于一系列变化造成的,主要指向使用Java 7和更新的Servlet规范的要求。

简单到足以解决您的情况。

  1. 请勿使用OS符号链接。
  2. 创建一个具有以下内容
<?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.home}/webapps/mywebapp.xml文件,你现在基本上是使用Jetty Deployable XML Descriptor这台contextPath/(又名Servlet规范根),并指向战争,你想要部署。

+0

工作就像一个魅力,谢谢! – ticktock 2013-05-10 18:24:34