maven install create jar, которые ничего не делают при двойном щелчке [duplicate]

Я наткнулся на ту же проблему. Программа отлично работала от 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]

1968
задан Rann Lifshitz 31 May 2018 в 01:59
поделиться