我有一个运行在Tomcat 8服务器上的restful api实现。我决定使用嵌入式Derby版本通过JDBC(使用Eclipse)将数据存储在数据库中。从我的角度来看,嵌入式版本的官方教程并不是非常有用。我跟着这里的步骤: http://www.nailedtothex.org/roller/kyle/entry/defining-embedded-derby-as-a无法在Tomcat中访问嵌入式Derby 8
我的问题是,德比连接没有发现,因为我使用了德比的嵌入式版本,我不知道如何调试不连接到德比的原因。
我将derby.jar和derby-shutdown-listener.jar复制到Tomcat服务器的lib文件夹中。我接受了context.xml和server.xml。
的context.xml:
<Context docBase="myapp"
path="/myapp"
reloadable="true">
<ResourceLink name="jdbc/derby"
global="jdbc/derby"
type="javax.sql.DataSource" />
</Context>
我也试过这个版本的context.xml的:
<Context docBase="myapp"
path="/myapp"
reloadable="true">
<Resource name="jdbc/derby" auth="Container"
driverClassName="org.apache.derby.jdbc.EmbeddedDriver"
username="bot" password="carmeq!"
type="javax.sql.DataSource"
url="jdbc:derby:mydb;create=true"/>
</Context>
的server.xml:
<Listener className="org.nailedtothex.derby.DerbyShutdownLifecycleListener" />
我改变了我的网络。 xml:
<resource-ref>
<res-ref-name>jdbc/derby</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
在我的Java类涉及到数据库的连接,我有以下规格:
String dbURL2 = "jdbc:derby:mydb;create=true";
这是我的异常,当我把我的宁静的功能,我接受。
javax.servlet.ServletException: java.lang.NullPointerException
org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.java:487)
org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:425)
org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:383)
org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:336)
org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:223)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
调试代码时,它显示没有找到指定url的合适驱动程序。此外,我在我的Tomcat文件夹(显示在Libraries/Apache Tomcat v8.0下)中使用Maven并在derby.jar旁边,我还在我的pom中添加了相同的derby.jar(版本10.9.1.0) .XML。
感谢
你是什么意思的“没有找到与德比的连接”?你有错误信息吗?例外?尽可能精确地描述你所体验的特定症状,人们可以提供帮助。 –
嗨@BryanPendleton,我添加了这个异常。 – Matzka
我发现讨论:http://stackoverflow.com/questions/3816015/sqlexception-no-suitable-driver-found-for-jdbcderby-localhost1527,但derby.jar是在tomcat文件夹中,并显示在tomcat部分图书馆。关于,我已尝试几乎所有的网址.. – Matzka