【发布时间】:2021-10-13 14:33:27
【问题描述】:
我是 Microprofile 世界的新手,我正在尝试使用 Open Liberty 作为实现来创建微服务。当我尝试使用 MySql 连接到我的数据库时,这里的主要问题开始了,我找不到原因。 我的 server.xml 文件是下一个:
<library id="jdbcLib">
<fileset dir="jdbc" includes="*.jar"/>
</library>
<dataSource jndiName="jdbc/myDB">
<jdbcDriver libraryRef="jdbcLib"/>
<properties serverName="localhost" portNumber="3306"
databaseName="inventory"
user="root"
password="root"/>
</dataSource>
而我的 persistence.xml 文件是:
<persistence-unit name="jpa-unit" transaction-type="JTA">
<jta-data-source>jdbc/myDB</jta-data-source>
<properties>
<property name="eclipselink.ddl-generation" value="create-tables"/>
<property name="eclipselink.ddl-generation.output-mode" value="both" />
</properties>
</persistence-unit>
我找不到我做错了什么,但我得到了以下异常:
java.sql.SQLNonTransientException: DSRA4000E: 没有为带有库的 dataSource[default-0] 找到 [javax.sql.ConnectionPoolDataSource, javax.sql.DataSource, javax.sql.XADataSource, java.sql.Driver] 的实现jdbcLib
有人可以帮我解决这个问题吗?我将不胜感激:D
【问题讨论】:
-
Open Liberty 没有预打包 JDBC 驱动程序二进制文件。从您的 server.xml 来看,您的 JDBC 驱动程序配置看起来不错,但您仍需要将其复制到磁盘上的适当位置。 @marks 的答案是使用 Maven 的好方法。
-
是的,斯科特,非常感谢你的回复,马克的回答对我很有用
-
很高兴听到这个消息。在这种情况下,您可以继续接受答案。很高兴能提供帮助。
标签: java mysql eclipse open-liberty microprofile