我似乎无法使用jetty-maven插件添加我的数据源。没有抛出错误但是当我查看上下文时,没有添加数据源。我已经验证了文件的路径是正确的,并且它正在解析它(输入错误的类名会导致错误)。我已尝试使用标记并配置为WebAppContext配置,但此文件被完全忽略。
的pom.xml
<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<version>8.1.3.v20120416</version>
<configuration>
<jettyXml>somePath/jetty.xml</jettyXml>
</configuration>
<dependencies>
<dependency>
<groupId>postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>9.0-801.jdbc4</version>
</dependency>
</dependencies>
</plugin>
的jetty.xml
<Configure class="org.eclipse.jetty.server.Server">
<New id="jdbc/postgres" class="org.eclipse.jetty.plus.jndi.Resource">
<Arg>jdbc/postgres</Arg>
<Arg>
<New class="org.postgresql.ds.PGSimpleDataSource">
<Set name="User">postgres</Set>
<Set name="Password">postgres</Set>
<Set name="DatabaseName">myDB</Set>
<Set name="ServerName">localhost</Set>
<Set name="PortNumber">5432</Set>
</New>
</Arg>
</New>
Java代码
Context ctx = new InitialContext();
Context context = (Context) ctx.lookup("java:comp/env");
ds = (DataSource) context.lookup("jdbc/postgres");
任何帮助都将不胜感激。
答案 0 :(得分:1)
答案 1 :(得分:0)
或者只需添加到您的web.xml:
<resource-ref>
<res-ref-name>jdbc/postgres</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>