2012-04-12 4 views
3

Ich versuche, eine JNDI DataSource in Jetty einzurichten. In der start.ini Datei habe ich den Anlegesteg-plus.xml Datei und die Optionen wie folgt aussehen hinzu:Jetty, JNDI, Postgresql: Klasse nicht gefunden

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

dann die Ressource in meinem Kontextdatei ich hinzufüge:

<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> 

Die postgresql-9.1-901.jdbc4.jar-Datei befindet sich in der WEB-INF/lib meiner WAR-Datei.

Wenn ich jetzt versuchen, die Anlegestelle ich folgende Fehlermeldung erhalten zu starten:

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 

Was habe ich verpasst?

Antwort

6

Sie müssen postgresql-9.1-901.jdbc4.jar zu $JETTY_HOME/lib/ext hinzufügen.

Dies liegt daran, dass Jetty den JNDI-Kontext initialisiert, bevor er die Klassen aus Ihrem WAR lädt.