Я посмотрел на все виды ответов на эту проблему. Никто из них не работает.
У меня есть следующий код:
import java.util.Properties;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.io.FileNotFoundException;
import java.io.IOException;
public class ApplicationConfig {
private static Logger LOG;
private String appConfigFileLocation = "application.properties";
private Properties appConfig;
private static ApplicationConfig instance;
public static ApplicationConfig getInstance() {
if(instance == null) {
instance = new ApplicationConfig();
}
return instance;
}
private ApplicationConfig() {
LOG = LoggerFactory.getLogger(this.getClass().getSimpleName());
appConfig = new Properties();
try {
LOG.info("Reading config from " + appConfigFileLocation);
appConfig.load(ClassLoader.getSystemResourceAsStream(appConfigFileLocation));
LOG.info("Done reading config from " + appConfigFileLocation);
} catch (FileNotFoundException e) {
LOG.error("Encountered FileNotFoundException while reading configuration: " + e.getMessage());
throw new RuntimeException(e);
} catch (IOException e) {
LOG.error("Encountered IOException while reading configuration: " + e.getMessage());
throw new RuntimeException(e);
}
}
}
Я создал файл JAR. Файл JAR имеет application.properties
в корне. Я также скопировал файл application.properties
в /etc/hadoop/conf
и в каталог target/classes/
.
Я использую команду hadoop jar
для выполнения кода.
Но я продолжаю получать сообщение об ошибке: java.lang.NullPointerException at java.util.Properties$LineReader.readLine(Properties.java:434)
Пожалуйста, помогите мне решить эту расстраивающую ошибку!