尝试在TomEE 7嵌入式容器中加载WAR
并连接到MySQL。
Configuration configuration = new Configuration();
Container container = new Container(configuration);
container.deploy("/", new File("/application.war"));
到目前为止一切顺利。在我的WAR WEB-INF/lib
里面,我已经拥有了所有必要的库,包括mysql-connector-java-8.0.8-dmr.jar
。
然后我尝试创建连接池并从WAR中获取连接。
Class.forName("com.mysql.cj.jdbc.Driver");
private BasicDataSource dataSource = new BasicDataSource();
...
dataSource.getConnection();
这是发生错误的地方。
SQLException: Cannot create JDBC driver of class '' for connect URL 'jdbc:mysql://persistence:3306/Database'
Caused by: java.sql.SQLException: No suitable driver
at java.sql.DriverManager.getDriver(DriverManager.java:315)
at org.apache.commons.dbcp2.BasicDataSource.createConnectionFactory(BasicDataSource.java:2144)
... 41 more
我没有或想要resources.xml
。检查类加载器时,driver[className=com.mysql.cj.jdbc.Driver@2236756e]
似乎已注册。失败发生在Class.java
的{{1}}行{。}}。
是否嵌入了TomEE忽略return forName0(name, initialize, loader, caller);
中的库?如何在不将全局驱动程序放入Tomcat依赖项的情况下加载驱动程序?