У меня есть следующий код в netbeans (используя javafx в том же проекте):
public class ExperimentControler {
public static HashMap<String,Double> userInput = null;
public static ObservableMapWrapper<String,Double> userInputObservable = null;
}
и
static final String totalDistance = "Total distance";
public static void main(String[] args) {
ExperimentControler.userInput = new HashMap<String,Double>();
ExperimentControler.userInput.put(totalDistance, 300.0);
ExperimentControler.userInputObservable = new ObservableMapWrapper<String,Double>(ExperimentControler.userInput);
Application.launch(PhysicsGui.class, args);
}
@Override
public void start(Stage primaryStage) {
ExperimentControler.userInput.get(totalDistance);
//...
}
Это прекрасно работает внутри netbeans.
Если я «очищу и соберу» проект, полученный .jar-файл выдаст исключение нулевого указателя в этой строке:
ExperimentControler.userInput.get(totalDistance);
Кроме того, это моя Java-версия вне NetBeans:
>java -version
java version "1.6.0_25"
Java(TM) SE Runtime Environment (build 1.6.0_25-b06)
Java HotSpot(TM) 64-Bit Server VM (build 20.0-b11, mixed mode)
Я тоже пробовал с jre 1.7.0, но результаты были точно такими же.
В netbeans у меня jdk 1.6.0_26.