У меня есть java jar, созданный из проекта maven для датчика, который работает как клиент другого сервера, и при запуске он показывает исключение в потоке "main" java.lang.NullPointerException для строки, где он прослушивает сервер, но когда я запускаю флягу с cmd, он работает правильно.
Подсказка: я заметил, что когда я останавливал клиента, используя ctrl c в cmd, я получаю ту же ошибку, поэтому, возможно, образ докера останавливается после запуска докера?
датчик класса
public LuftfeuchtigkeitSensor(String name, int id, String filename, int port) throws UnknownHostException, SocketException {
super(name, id, filename, port);
}
public static void main(String[] args) throws UnknownHostException, SocketException, IOException, InterruptedException, MqttException {
LuftfeuchtigkeitSensor s2 = new LuftfeuchtigkeitSensor("LuftfeuchtigkeitSensor", 5, "resources/Luftfeuchtigkeit.txt", 1234);
System.out.println(s2.getName());
s2.getPublischer().einloggen();
new Timer().scheduleAtFixedRate(new TimerTask() {
@Override
public void run() {
try {
try {
sensorStart(s2);
} catch (MqttException ex) {
Logger.getLogger(LuftfeuchtigkeitSensor.class.getName()).log(Level.SEVERE, null, ex);
}
} catch (IOException ex) {
Logger.getLogger(WindgeschwindigkeitSensor.class.getName()).log(Level.SEVERE, null, ex);
}
}
}, 0, 5000);
s2.getClient().listenToServer(s2);
}
dockerfile
FROM java:8
EXPOSE 1234
ADD /target/LuftfeuchtigkeitSensor.jar-jar-with-dependencies.jar LuftfeuchtigkeitSensor.jar-jar-with-dependencies.jar
CMD ["java","-jar","LuftfeuchtigkeitSensor.jar-jar-with-dependencies.jar"]