我正在使用Spring MVC登录示例(Eclipse / Spring Tools可用于创建新的Spring MVC项目)以了解有关Spring的更多信息。默认情况下,该示例使用H2内存数据库。虽然,我试图从H2切换到MySQL。什么时候,我说尝试我的意思是我在过去的7-8个小时里一直这样做。
登录示例使用Maven。所以,我已经将以下代码添加到pom.xml以获取mysql:
SOMECODEABOVETHIS
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.38</version>
</dependency>
</dependencies>
然后,我继续修改了* -ds.xml文件:
<datasources xmlns="http://www.jboss.org/ironjacamar/schema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.jboss.org/ironjacamar/schema http://docs.jboss.org/ironjacamar/schema/datasources_1_0.xsd">
<datasource jndi-name="java:jboss/datasources/MyProjectDSBasic"
pool-name="MyProjectDemo" enabled="true"
use-java-context="true">
<connection-url>jdbc:mysql://localhost:3306/MYDB</connection-url>
<driver>mysql</driver>
<security>
<user-name>root</user-name>
<password></password>
</security>
</datasource>
<drivers>
<driver name="mysql" module="com.mysql">
<driver-class>com.mysql.jdbc.Driver</driver-class>
<xa-datasource-class>com.mysql.jdbc.jdbc2.optional.MysqlXADataSource</xa-datasource-class>
</driver>
</drivers>
</datasources>
请注意,“drivers”块是我从另一个有关syntaxoverflow的问题中选择的答案。此外,我已经尝试过没有“驱动程序级”块。
这是修改后的persistence.xml文件:
<persistence version="2.0"
xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence
http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">
<persistence-unit name="primarybasic">
<jta-data-source>java:jboss/datasources/MyProjectDSBasic</jta-data-source>
<properties>
<property name="jboss.entity.manager.factory.jndi.name"
value="java:jboss/MyProject/persistencebasic" />
<property name="hibernate.hbm2ddl.auto" value="create-drop" />
<property name="hibernate.show_sql" value="false" />
</properties>
</persistence-unit>
</persistence>
我使用了Wildfly 9和Tomcat 8.他们在部署时都给了我同样的错误:
WFLYCTL0013:操作(“完全替换 - 部署”)失败 - 地址:([]) - 失败描述:{“WFLYCTL0180:具有丢失/不可用依赖性的服务”=&gt; [“jboss.data-source.java:jboss/datasources/MyProjectDSBasic缺失[jboss.jdbc-driver.mysql]”]}
请注意,我已经清理了我的maven,并确保mysql连接器位于Maven引用的库中。我不知道如何解决这个问题。我必须阅读超过200页试图找到一个没有运气的解决方案。我甚至已经阅读了一些module.xml,你在其中提供了有关mysql连接器的更多信息,但我没有在项目上有该文件。如果我要创建它,我不知道我会把它放在哪里。
顺便说一下,我没有使用Spring Boot。
答案 0 :(得分:0)
你是否在Wildfly模块下创建了com.mysql?如果不是,你必须这样做。 Wildfly需要一个用于数据库驱动程序的模块。
以下是我对Wildfly模块的回答:
What's the difference between a module and a subsystem
这里https://docs.jboss.org/author/display/WFLY10/Class+Loading+in+WildFly?_sscc=t
如何在Jboss7或Wildfly中创建模块