无法使用Eclipse+;将MySQL连接到Java应用程序;14.0
我无法将Java应用程序连接到运行macOS的本地MySQL 8数据库。我正在使用Eclipse并在WildFly 16.0上部署。当我部署我的应用程序时,控制台抛出以下错误无法使用Eclipse+;将MySQL连接到Java应用程序;14.0,java,mysql,jdbc,wildfly,Java,Mysql,Jdbc,Wildfly,我无法将Java应用程序连接到运行macOS的本地MySQL 8数据库。我正在使用Eclipse并在WildFly 16.0上部署。当我部署我的应用程序时,控制台抛出以下错误 18:15:00,537 ERROR [org.jboss.as.controller.management-operation] (Controller Boot Thread) WFLYCTL0013: Operation ("add") failed - address: ([ ("subsystem" =&
18:15:00,537 ERROR [org.jboss.as.controller.management-operation] (Controller Boot Thread) WFLYCTL0013: Operation ("add") failed - address: ([
("subsystem" => "datasources"),
("data-source" => "MYAPP")
]) - failure description: {
"WFLYCTL0412: Required services that are not installed:" => ["jboss.jdbc-driver.com_mysql"],
"WFLYCTL0180: Services with missing/unavailable dependencies" => [
"org.wildfly.data-source.MYAPP is missing [jboss.jdbc-driver.com_mysql]",
"jboss.driver-demander.java:jboss/datasources/MYAPP is missing [jboss.jdbc-driver.com_mysql]"
]
}
18:15:00,602 ERROR [org.jboss.as.controller.management-operation] (Controller Boot Thread) WFLYCTL0013: Operation ("add") failed - address: ([
("subsystem" => "datasources"),
("data-source" => "MYAPP")
]) - failure description: {
"WFLYCTL0412: Required services that are not installed:" => ["jboss.jdbc-driver.com_mysql"],
"WFLYCTL0180: Services with missing/unavailable dependencies" => [
"org.wildfly.data-source.MYAPP is missing [jboss.jdbc-driver.com_mysql]",
"jboss.driver-demander.java:jboss/datasources/MYAPP is missing [jboss.jdbc-driver.com_mysql]"
]
}
MyWildFly/modules/system/layers/base/com/mysql/main/module.xml
包含以下内容:
<?xml version="1.0" encoding="UTF-8"?>
<module xmlns="urn:jboss:module:1.1" name="com.mysql">
<resources>
<resource-root path="mysql-connector-java-8.0.18.jar"/>
</resources>
<dependencies>
<module name="javax.api"/>
<module name="javax.transaction.api"/>
<module name="javax.servlet.api" optional="true"/>
</dependencies>
</module>
在我的Eclipse项目中,Java资源/src/META-INF/persistence.xml
包含:
<datasource jndi-name="java:jboss/datasources/MYAPP" pool-name="MYAPP" enabled="true" use-java-context="true" statistics-enabled="${wildfly.datasources.statistics-enabled:${wildfly.statistics-enabled:false}}">
<connection-url>jdbc:mysql://localhost:3306/MYAPP</connection-url>
<driver>com.mysql</driver>
<security>
<user-name>root</user-name>
<password>MYPASS</password>
</security>
</datasource>
...
<drivers>
<driver name="com.mysql" module="com.mysql">
<xa-datasource-class>com.mysql.jdbc.jdbc2.optional.MysqlXADataSource</xa-datasource-class>
</driver>
</drivers>
<?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="MYAPP">
<jta-data-source>java:jboss/datasources/MYAPP</jta-data-source>
<class>dl.USER</class>
<class>dl.POST</class>
<properties>
<property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect"/>
<property name="hibernate.hbm2ddl.auto" value="validate"/>
</properties>
</persistence-unit>
</persistence>
java:jboss/datasources/MYAPP
dl.USER
邮政署
我看不出这有什么问题,但对于上面附加的日志,它找不到MySQL连接器。您好,问题是模块的名称:
<module xmlns="urn:jboss:module:1.1" name="com.mysql">
尝试将
定义中的name属性更改为普通mysql
以及
部分中的相应参考
mysql
似乎因为name元素是xs:token类型,所以点以某种方式被替换为下划线。我应该更改什么文件并放在那里?问题是我没有定义一个名为
jboss.jdbc driver.com\u mysql
的模块,我只定义了com.mysql
,我不知道这是从哪里来的请添加连接池配置您是编辑原始XML还是使用CLI或web界面添加数据源?
"jboss.jdbc-driver.com_mysql