java错误:(32,13)错误:无法访问javax的可引用类文件。命名。找不到可引用的
我得到的错误上面和下面是我的代码我做错了什么? 对数据源的错误引用。 有什么问题
public class DBConnector {
private Connection dbConn = null;
private FileLogger fileLogger = new FileLogger("./logs/logfile.txt");
private ConfigurationReader conf = new ConfigurationReader("./config.sys");
private Logger logger = fileLogger.getLogger();
/**
* Attempts to establish a connection with a test MySQL database.
*/
public DBConnector() {
MysqlDataSource dataSource = new MysqlDataSource();
dataSource.setUser(conf.getConfigString("username"));
dataSource.setPassword(conf.getConfigString("password"));
dataSource.setServerName(conf.getConfigString("dbhost"));
dataSource.setDatabaseName(conf.getConfigString("dbname"));
dataSource.setPort(conf.getConfigInt("dbport"));
try {
dbConn = dataSource.getConnection();
logger.info("Succesful connection with database!");
} catch (Exception ex) {
logger.info("Error: DBConnector(): problem creating database connection");
}
logger.info("Database connection = " + dbConn);
}
# 1 楼答案
正如Sander Makhere所解释的,当您的代码依赖于没有模块描述符的东西,并且此依赖项的依赖项未解决时,通常会发生这种情况(例如,您使用的Hibernate没有模块描述符,但需要java.naming)
在这种情况下,Sander建议使用
这样,当将来Hibernate获得自己的模块描述符时,您只需删除上面的行,并且在模块信息中只有您的直接依赖项。爪哇
# 2 楼答案
我得到了相同的错误(在Java9或更高版本上)。对我来说,这个问题是由于我的模块(访问Referenceable的模块)的
module-info.java
中缺少requires java.naming;
指令造成的。添加此指令修复了它:我希望这有帮助