如何读取jar包外的properties文件和log4j.properties
1个回答
推荐于2016-03-01
展开全部
下面是我的解决方案,已证实有效,其中Log4jP = "log4j.properties"
private void initLog4jProperties()
{
//未打包时读取配置
String file = this.getClass().getClassLoader()
.getResource(Log4jP).getFile();
if(new java.io.File(file).exists())
{
PropertyConfigurator.configure(file);
System.out.println("未打包时读取配置");
return;
}
//读取jar包外配置文件
file = System.getProperty("user.dir") +"/conf/"+Log4jP;
if(new java.io.File(file).exists())
{
PropertyConfigurator.configure(file);
System.out.println("读取jar包外配置文件");
return;
}
//读取jar包内配置文件
InputStream in = this.getClass().getClassLoader()
.getResourceAsStream(Log4jP);
Properties p=new Properties();
try {
p.load(in);
PropertyConfigurator.configure(p);
System.out.println("读取jar包内配置文件");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
private void initLog4jProperties()
{
//未打包时读取配置
String file = this.getClass().getClassLoader()
.getResource(Log4jP).getFile();
if(new java.io.File(file).exists())
{
PropertyConfigurator.configure(file);
System.out.println("未打包时读取配置");
return;
}
//读取jar包外配置文件
file = System.getProperty("user.dir") +"/conf/"+Log4jP;
if(new java.io.File(file).exists())
{
PropertyConfigurator.configure(file);
System.out.println("读取jar包外配置文件");
return;
}
//读取jar包内配置文件
InputStream in = this.getClass().getClassLoader()
.getResourceAsStream(Log4jP);
Properties p=new Properties();
try {
p.load(in);
PropertyConfigurator.configure(p);
System.out.println("读取jar包内配置文件");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询