Когда я запускаю файл JAR через терминал, у меня нет проблем. Однако, когда я поместил его на компьютер моего клиента, он выдал следующую ошибку (когда я попробовал через терминал:
Error: could not find or load main class base.Main.
Caused by: NoClassDefFoundErrors javafx/application/Application
Обычно я предполагаю, что Мейн не был включен. Тем не менее, я экспортировал также ANT XML (включен ниже) и base.Main, где мой главный должен быть. Я также сбит с толку, потому что могу без проблем запустить исполняемый файл jar через терминал на моей машине.
Я использую функцию экспорта работоспособного фляги в STS. Я пытался экспортировать несколько раз. Я пытался изменить настройки экспорта (циклически переключая параметры). Я подтвердил, что у моего клиента был действительный JDK, хотя я сомневаюсь, что это будет проблемой.
* Я потратил два часа на поиск ответов. Хотя я уверен, что есть похожие вопросы, я еще не нашел, когда это точно соответствует моей проблеме. Если вы видели, не стесняйтесь опубликовать его.
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<project default="create_run_jar" name="Create Runnable Jar for
Project BLIS with Jar-in-Jar Loader">
<!--this file was created by Eclipse Runnable JAR file Export
Wizard-->
<!--ANT 1.7 is required-->
<!--define folder properties-->
<property name="dir.buildfile" value="."/>
<property name="dir.workspace" value="${dir.buildfile}"/>
<property name="dir.jarfile" value="/Users/me/Documents"/>
<target name="create_run_jar">
<jar destfile="${dir.jarfile}/BLIS.jar">
<manifest>
<attribute name="Main-Class"
value="org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader"/>
<attribute name="Rsrc-Main-Class" value="base.Main"/>
<attribute name="Class-Path" value="."/>
<attribute name="Rsrc-Class-Path" value="./ spring-jdbc-3.2.11.RELEASE.jar spring-jdbc-3.2.11.RELEASE.jar mysql-connector-java-
8.0.13.jar joda-time-2.10.1.jar"/>
</manifest>
<zipfileset src="jar-in-jar-loader.zip"/>
<fileset dir="${dir.workspace}/BLIS/bin"/>
</jar>
</target>
</project>
Я знаю, что ожидать, что вещи "просто сработают", нереально. Проблема в том, что я не уверен, где я все испортил. Это потому, что Main-Class является загрузчиком ресурсов, а не base.Main? Я не использовал этот экспортер раньше, но я предполагаю, что он «загружает ресурс» перед проверкой, существует ли main.
Любая помощь будет оценена.