我试图用JPA2.1、Hibernate和MariaDB创建基本的CRUD。
当我尝试在Tomcat上运行我的项目时,我得到以下错误:
Caused by: java.lang.ClassNotFoundException: Could not load requested class : mariadb-java-client-1.1.7
at org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl$AggregatedClassLoader.findClass(ClassLoaderServiceImpl.java:217)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl.classForName(ClassLoaderServiceImpl.java:226)
... 50 more
我的数据库正在运行。我通过maven获取我的JDBC驱动程序,并且JAR存在于maven Dependencies文件夹中。下面是persistence.xml(我遵循了Pro JPA2.1教材中的示例):
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.1" xmlns="http://xmlns.jcp.org/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd">
<persistence-unit name="CRUD">
<properties>
<property name="javax.persistence.jdbc.driver"
value="mariadb-java-client-1.1.7"/>
<property name="javax.persistence.jdbc.url"
value="jdbc:derby://localhost:3306/Practice;create=true"/>
<property name="javax.persistence.jdbc.user" value="root"/>
<property name="javax.persistence.jdbc.password" value="password"/>
</properties>
</persistence-unit>
POM:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>CRUD</groupId>
<artifactId>CRUD</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>
<build>
<sourceDirectory>src</sourceDirectory>
<resources>
<resource>
<directory>src</directory>
<excludes>
<exclude>**/*.java</exclude>
</excludes>
</resource>
</resources>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.5.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
<plugin>
<artifactId>maven-war-plugin</artifactId>
<version>3.0.0</version>
<configuration>
<warSourceDirectory>WebContent</warSourceDirectory>
</configuration>
</plugin>
</plugins>
</build>
<dependencies>
<!-- https://mvnrepository.com/artifact/org.mariadb.jdbc/mariadb-java-client -->
<dependency>
<groupId>org.mariadb.jdbc</groupId>
<artifactId>mariadb-java-client</artifactId>
<version>1.1.7</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>5.1.0.Final</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-entitymanager</artifactId>
<version>5.1.0.Final</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-c3p0</artifactId>
<version>5.1.0.Final</version>
</dependency>
</dependencies>
你的输入是错误的。应该将javax.persistence.JDBC.driver设置为JDBC驱动程序的类名,而不是某个jar名称!
<property name="javax.persistence.jdbc.driver" value="org.mariadb.jdbc.Driver"/>
编辑:堆栈跟踪如下: 下面是persistence.xml:
嘿,伙计们,还有一个问题,下面是信息
问题内容: 在Ubuntu上运行,出现此错误: 平台工具是最新的。 模拟器图片的使用,它在Android N上。 更新(2016年12月2日): @Sébastien的解决方案不再起作用,但提供: 如果我禁用基于GPU的渲染并切换到基于软件的GL图形,则会出现以下运行时错误: 问题答案: 遇到相同的问题,我的解决方法是设置以下env变量: 导出ANDROID_EMULATOR_USE_SYSTEM
问题内容: 我在春季配置了一个netezza db。我在类路径中添加了依赖的nzjdbc.jar 春季配置: 问题答案: 将放入您的本地Maven存储库 (在该目录执行这个位于 然后像正常依赖项一样使用它: @请参阅安装第三方JAR的指南
我正在尝试将MySQL数据库连接到weblogic,以便我可以在我的项目中使用它,我对此很陌生,无论如何,我已经创建了一个数据源,我选择MySQL作为数据库类型 C:\Oracle\Middleware\wlserver\U 10.3\server\ext\jdbc\mysql 但它不起作用!
这是hibernate.cfg.xml: 这是Hibernate实用程序文件: