我在Unix机器上读取属性文件时遇到问题。 一切正常在Windows上运行。
更多详情:
下面的代码包含两种方法,它们在Windows上都正常工作但没有一种方法 在Unix上工作。 为什么呢?
package com.mycode.utils;
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;
import java.util.ResourceBundle;
import org.apache.log4j.Logger;
public class LoadMessageProperty {
public static final String MESSAGE = "messages.properties";
private static final Logger logger = org.apache.log4j.Logger.getLogger(LoadMessageProperty.class.getName());
public String getMessage(String key) {
logger.debug("getMessage(key["+key+"]) BEGIN");
String value = null;
Properties prop = new Properties();
InputStream input = null;
try {
input = this.getClass().getResourceAsStream(MESSAGE);
if (input == null) {
System.out.println("Sorry, unable to find " + MESSAGE);
} else {
prop.load(input);
value = prop.getProperty(key);
}
} catch (IOException ex) {
logger.error(ex);
} finally {
if (input != null) {
try {
input.close();
} catch (IOException e) {
logger.error(e);
}
}
}
logger.debug("getMessage(key["+key+"]) END");
return value;
}
public String getMessageBundle(String key){
ResourceBundle properties;
String value = "";
properties = ResourceBundle.getBundle("com.mycode.utils.messages");
value = properties.getString(key);
return value;
}
}
答案 0 :(得分:0)
好的,我明白了。 我需要添加
<resources>
<resource>
<directory>src</directory>
<excludes>
<exclude>**/*.java</exclude>
</excludes>
</resource>
</resources>
到我的pom.xml