Я преобразовал проект, над которым я работал, в проект maven, и когда я попытался экспортировать проект в пригодный для запуска баночный файл, это вызывало проблемы только при его экспорте.
Я все еще могу нормально запустить его из Eclipse,Я получил резервную копию, которую сделал до преобразования Maven, и вручную добавил необходимую библиотеку из проекта Maven.Я обновил код в проекте не Maven, чтобы он был идентичен проекту Maven.Оба проекта отлично работают в Eclipse.Однако после экспорта будет запущен только проект Non-Maven.
Я попытался добавить 'getClassLoader ()' в FXMLLoader.load безуспешно.
import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.stage.Stage;
import javafx.stage.StageStyle;
import javafx.scene.Parent;
import javafx.scene.Scene;
public class Main extends Application {
@Override
public void start(Stage primaryStage) {
try {
Parent root = FXMLLoader.load(getClass().getResource("Loading.fxml"));
Scene s = new Scene(root);
Stage loadStage = new Stage();
loadStage.setScene(s);
loadStage.setTitle("Loading: StoreLink - Compliance");
//Database connecton timeout set high: stackoverflow.com/questions/1683949/connection-timeout-for-drivermanager-getconnection
loadStage.initStyle(StageStyle.UNDECORATED);
loadStage.setAlwaysOnTop(true);
loadStage.show();
//*********************************************
FXMLLoader mainLoader = new FXMLLoader(getClass().getResource("MainWindow.fxml"));
MainWindowController mwc = new MainWindowController(loadStage, primaryStage);
mainLoader.setController(mwc);
Scene mainScene = new Scene(mainLoader.load());
primaryStage.setScene(mainScene);
primaryStage.setTitle("StoreLink - Compliance");
primaryStage.setMaximized(true);
} catch(Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
launch(args);
}
}
Проект Maven: https://imgur.com/aFZsq4E Выход CMD: https://imgur.com/OuqejLk