我正在尝试将属性文件导入到我的 java 项目中。在决定添加属性文件之前,我已经让 Web 服务和数据库完美运行。由于我不想在我的文件中包含我的凭据,因此我决定使用属性文件。该代码没有错误,甚至使用下面的 System.out.println 吐出我的属性文件的内容。当我运行网络服务时,它会编译然后显示: 无效的 数据库驱动程序 没有找到适合 DB_CONNECTION 的驱动程序
private static final String DB_DRIVER = ("DB_DRIVER");
private static final String DB_CONNECTION = ("DB_CONNECTION");
private static final String DB_USER = ("DB_USER");
private static final String DB_PASSWORD = ("DB_PASSWORD");
public static void main(String[] String) {
//declare reader object outside of Try for scoping
FileReader reader;
try{
reader = new FileReader("ExchangeService.properties");
Properties properties = new Properties();
properties.load(ClassLoader.getSystemResourceAsStream("ExchangeService.properties"));
String driver = properties.getProperty(DB_DRIVER);
System.out.println(driver);
String connection = properties.getProperty(DB_CONNECTION);
System.out.println(connection);
String user = properties.getProperty(DB_USER);
System.out.println(user);
String password = properties.getProperty(DB_PASSWORD);
System.out.println(password);
reader.close();
}
catch (Exception e) {
e.printStackTrace();
}
}
更多代码(将数据插入集合中)blah=blah
public static Connection getDBConnection() {
Connection dbConnection = null;
try {
Class.forName(DB_DRIVER);
} catch (ClassNotFoundException e) {
System.out.println(e.getMessage());
}
try {
dbConnection = DriverManager.getConnection(
DB_CONNECTION, DB_USER,DB_PASSWORD);
return dbConnection;
} catch (SQLException e) {
System.out.println(e.getMessage());
}
return dbConnection;
}
}
属性文件:
DB_DRIVER=com.mysql.jdbc.Driver
DB_CONNECTION=jdbc:mysql://localhost:3306/exchangeinformation
DB_USER=root
DB_PASSWORD=admin
任何帮助都会很棒!
谢谢
最佳答案
假设这是您的全部代码,那么这一行:
dbConnection = DriverManager.getConnection(DB_CONNECTION, DB_USER,DB_PASSWORD);
引用的是私有(private)静态最终字符串常量,而不是您从属性文件中读取的值。
关于java - 插入一个属性文件,其中的 MySQL 凭据在作为 Java 应用程序运行时显示,但在作为 WebService 运行时显示为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33178026/