I want to use BasicDataSource for DB interconnection. In the "classic" java project (without modules) everything works correctly, but when i create multi module project some error occured at the compile time.
Error:(..) java: cannot access javax.management.MBeanRegistration
I have never met such errors before. Intersting then error occurs when i try to call any method of the BasicDataSource class
Class.forName("com.mysql.cj.jdbc.Driver");
BasicDataSource basicDataSource = new BasicDataSource();
basicDataSource.setUsername("username"); //Error occurs here
Docs for lib says that:
DBCP 2.7.0 compiles and runs under Java 8 only (JDBC 4.2)
But:
DBCP 2.7.0 binaries should be used by applications running on Java 8 and above.
Ref: https://commons.apache.org/proper/commons-dbcp/
module-info.java:
module BusinessLogic {
requires mysql.connector.java;
requires java.sql;
requires com.fasterxml.jackson.databind;
requires commons.dbcp2;
requires commons.pool2;
requires commons.logging;
}
So, i tried to use binaries but it didn't help, how can i avoid this problem?
Solution: It's necessary to specify one more dependency in module-info:
requires java.management;
or delete module-info.
module-info.java:
module DBModule{
requires mysql.connector.java;
requires java.sql;
requires commons.dbcp2;
requires java.management;
}