Leer el archivo de configuración de log4j fuera del paquete jar
Antecedentes: eliminé todos los archivos de configuración y eliminé todos los archivos de configuración en el paquete jar. Necesita leer el archivo de configuración en el mismo directorio del paquete jar.
- El archivo xml no parece estar configurado y se puede leer directamente.
- El archivo de configuración log4j debe agregar la siguiente declaración en la función principal (la agregué a la primera línea debajo de la función principal)
PropertyConfigurator.configure(System.getProperty("user.dir") + "/log4j.properties");
Nota: Mi archivo de propiedades se lee desde el directorio src por defecto. Si
parece estar ubicado en el directorio secundario o terciario, "/log4j.properties" La configuración aquí debe cambiarse. No lo usé, así que no lo intenté.
3. Cómo leer el archivo ini
Código relacionado:
ublic Hashtable getConfigFile(){
Hashtable htable = new Hashtable();
System.out.println("获取dbconfig.ini配置参数");
FileReader fr = null;
BufferedReader br = null;
//String Config_dir = this.getClass().getResource("dbconfig.ini").getPath();
try {
fr = new FileReader(new File(FinalParam.Config_dir));
//fr = new FileReader(new File(Config_dir));
br = new BufferedReader(fr);
String tmp_str = null;
while((tmp_str = br.readLine()) != null){
String[] cube_cfg = new String[2];
if(tmp_str.indexOf("=") != -1){
cube_cfg = DoSplitStr(tmp_str);
htable.put(cube_cfg[0], cube_cfg[1]);
}else{
FinalParam.println("配置文件出现空行,跳过!");
}
}
System.out.println("读取到配置文件配置个数:"+htable.size());
} catch (Exception e) {
// TODO Auto-generated catch block
FinalParam.println("读取配置文件出错!");
e.printStackTrace();
}
return htable;
}
//在这个函数中实现的调用
public Connection initConfig2(Connection conn) {
System.out.println("初始化数据库链接");
htable = dofile.getConfigFile();// 读取配置文件,初始化
conn = dbconn.getConnection(htable);// 获取全局数据库链接
System.out.println("获取全局数据库链接");
//System.out.println("conn:"+conn.toString());
if (htable == null || htable.isEmpty() || conn == null) {
System.out.println("htable参数为空 或者 初始化连接为null");
}
return conn;
}