Glassfish 5服务器和JPAs的Netbeans中的类名错误或未设置类路径错误
我在netbeans11中有一个Web应用程序(安装了jdk8),我添加了mysql-connector-java-8.0.15.jar的依赖项,并从数据库生成了jpa 构建时没有错误 但是当我尝试运行它时,Glassfish服务器会给我这些 这是我相应设置的persistence.xml,它是:Glassfish 5服务器和JPAs的Netbeans中的类名错误或未设置类路径错误,jpa,jakarta-ee,netbeans,glassfish,server-error,Jpa,Jakarta Ee,Netbeans,Glassfish,Server Error,我在netbeans11中有一个Web应用程序(安装了jdk8),我添加了mysql-connector-java-8.0.15.jar的依赖项,并从数据库生成了jpa 构建时没有错误 但是当我尝试运行它时,Glassfish服务器会给我这些 这是我相应设置的persistence.xml,它是: <?xml version="1.0" encoding="UTF-8"?> <persistence version="2.1&q
<?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="InvoicesPU" transaction-type="JTA">
<jta-data-source>java:app/Invoices</jta-data-source>
<exclude-unlisted-classes>false</exclude-unlisted-classes>
<properties/>
</persistence-unit>
</persistence>
为了完整性,我在编译阶段没有错误
有人知道怎么解决吗?试着把JDBC驱动程序jar放到Glassfish域的
lib
文件夹中。我通常将它们存储在lib/ext
中,经过一些研究后,我用这种方式解决了它:
mysql-connector-java-8.x.x.jar
,并添加了mysql-connector-java-5.x.x.jar
persistence.xml
中,我为标记jta数据源设置了JNDI名称
com.mysql.jdbc.jdbc2.optional.MysqlDataSource
设置为所报告的com.mysql.cj.jdbc.MysqlDataSource
我希望它对其他人有用。我检查过,在Glassfish域中已经有mysql连接器驱动程序了!我完成了这项工作,检查了服务窗口中有关glassfish和jdbc的所有内容,现在一切正常,但我不知道如何添加
Datasource类名:com.mysql.cj.jdbc.MysqlConnectionPoolDataSource
部分。我可以在哪里添加它???Ping是否适用于GF管理控制台中的连接池?创建连接池和JDBC资源。你可以参考。资源JNDI名称转到jta数据源
标记:jdbc/tutorialsDS
类名在版本8中已更改。将数据源类名从com.mysql.jdbc.jdbc2.optional.MysqlDataSource
更改为com.mysql.cj.jdbc.MysqlDataSource
。查看详细信息。
@Stateless
public class InvoiceEJB implements InvoiceEJBLocal {
@PersistenceContext(unitName = "InvoicesPU")
EntityManager em;
...
em.someMethod();