2013-05-10 101 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