Я наткнулся на ту же проблему. Программа отлично работала от Eclipse с помощью кнопки «Запустить», но не из запускаемого JAR, который я ранее экспортировал. Мое решение было:
1) Переместить основной класс в пакет по умолчанию
2) Установить другой путь для Eclipse и другие во время работы из файла JAR (вставить это в Main.java)
public static final String sourcePath = isProgramRunnedFromJar() ? "src/" : "";
public static boolean isProgramRunnedFromJar() {
File x = getCurrentJarFileLocation();
if(x.getAbsolutePath().contains("target"+File.separator+"classes")){
return false;
} else {
return true;
}
}
public static File getCurrentJarFileLocation() {
try {
return new File(Main.class.getProtectionDomain().getCodeSource().getLocation().toURI().getPath());
} catch(URISyntaxException e){
e.printStackTrace();
return null;
}
}
И после этого в методе начала вам необходимо загрузить такие файлы:
FXMLLoader loader = new FXMLLoader(getClass().getResource(sourcePath +"MainScene.fxml"));
Это работает для меня на Eclipse Mars с e (fx) клише. / g4]
Внутренне ветви хранятся в папке .git/refs/heads
в виде файлов. Если имя ветви содержит разделитель каталогов, аналогичный каталог создается внутри heads
. Файловая система на удаленном компьютере не позволяет иметь файл с именем master
и папку с именем master
по одному и тому же пути, поэтому вы получаете ошибку.
Вам нужно использовать что-то другое, кроме master
, в качестве префикса для своих ветвей.