2012-04-12 84 views
3

我試圖在Jetty中設置JNDI數據源。在start.ini文件我已經添加了碼頭,plus.xml文件和選項是這樣的:Jetty,JNDI,Postgresql:未找到類

OPTIONS=Server,resources,websocket,ext,plus,annotations 

然後,我將在我的上下文文件中的資源:

<New id="Traildevils" class="org.eclipse.jetty.plus.jndi.Resource"> 
    <Arg/> 
    <Arg>jdbc/Traildevils</Arg> 
    <Arg> 
     <New class="org.postgresql.ds.PGConnectionPoolDataSource"> 
      <Set name="User">recom</Set> 
      <Set name="Password">recom</Set> 
      <Set name="DatabaseName">Traildevils</Set> 
      <Set name="ServerName">localhost</Set> 
      <Set name="PortNumber">5432</Set> 
     </New> 
    </Arg> 
</New> 

的postgresql-9.1-901.jdbc4.jar文件位於我的war文件的WEB-INF/lib目錄下。

當我現在嘗試啓動碼頭我得到以下錯誤:

2012-04-12 12:58:09.723:WARN:oejx.XmlConfiguration:Config error at 
<New id="Traildevils" class="org.eclipse.jetty.plus.jndi.Resource"><Arg/> 
<Arg>jdbc/Traildevils</Arg> 
<Arg>|???<New class="org.postgresql.ds.PGConnectionPoolDataSource"> 
<Set name="User">recom</Set> 
<Set name="Password">recom</Set> 
<Set name="DatabaseName">Traildevils</Set> 
<Set name="ServerName">localhost</Set><Set name="PortNumber">5432</Set></New>|??</Arg></New> 
java.lang.ClassNotFoundException: org.postgresql.ds.PGConnectionPoolDataSource 

我錯過了什麼?

回答

6

您需要將postgresql-9.1-901.jdbc4.jar添加到$JETTY_HOME/lib/ext

這是因爲在從WAR中加載類之前,jetty會初始化JNDI上下文。