我正在尝试在Jetty中设置JNDI数据源。在start.ini文件中,我添加了jetty-plus.xml文件,选项如下所示:
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
我错过了什么?
答案 0 :(得分:7)
您需要将postgresql-9.1-901.jdbc4.jar添加到$JETTY_HOME/lib/ext
。
这是因为jetty在从WAR加载类之前初始化JNDI上下文。