fix: добавляем JavaFX module-path и настройки для GUI запуска

This commit is contained in:
SashegDev
2026-05-05 11:23:59 +00:00
parent 991252130d
commit 08417efe2f
3 changed files with 31 additions and 12 deletions
+12 -1
View File
@@ -42,6 +42,12 @@
<exclude>META-INF/*.RSA</exclude>
</excludes>
</filter>
<filter>
<artifact>org.openjfx:javafx-*</artifact>
<excludes>
<exclude>**/*-linux.jar</exclude>
</excludes>
</filter>
</filters>
<dependencySet>
<outputDirectory>/</outputDirectory>
@@ -85,11 +91,16 @@
<configuration>
<outfile>../server/builds/ZernMCLauncher-${project.version}.exe</outfile>
<jar>../server/builds/ZernMCLauncher.jar</jar>
<headerType>console</headerType>
<headerType>gui</headerType>
<dontWrapJar>false</dontWrapJar>
<jre>
<path>jre21</path>
<minVersion>21</minVersion>
<opts>
<opt>--module-path=lib-javafx</opt>
<opt>--add-modules=javafx.controls,javafx.web</opt>
<opt>--add-reads=javafx.graphics=ALL-UNNAMED</opt>
</opts>
</jre>
<versionInfo>
<fileVersion>${project.version}.0</fileVersion>
+8 -3
View File
@@ -187,11 +187,16 @@
<configuration>
<outfile>../server/builds/ZernMCLauncher-${project.version}.exe</outfile>
<jar>../server/builds/ZernMCLauncher.jar</jar>
<headerType>console</headerType>
<headerType>gui</headerType>
<dontWrapJar>false</dontWrapJar>
<jre>
<path>jre21</path>
<minVersion>21</minVersion>
<opts>
<opt>--module-path=lib-javafx</opt>
<opt>--add-modules=javafx.controls,javafx.web</opt>
<opt>--add-reads=javafx.graphics=ALL-UNNAMED</opt>
</opts>
</jre>
<versionInfo>
<fileVersion>${project.version}.0</fileVersion>
@@ -227,10 +232,10 @@
<fileset dir="${user.home}/launcher/jre/jre21"/>
</copy>
<!-- Создаём zip только с .exe и jre21 (без .jar и build.version) -->
<!-- Создаём zip с .exe, jre21 и lib-javafx (без .jar и build.version) -->
<zip destfile="../server/builds/ZernMCLauncher-${project.version}.zip"
basedir="../server/builds"
includes="ZernMCLauncher.exe,jre21/**"
includes="ZernMCLauncher.exe,jre21/**,lib-javafx/**"
excludes="*.jar,build.version"/>
</target>
</configuration>
@@ -34,6 +34,7 @@ public class Main {
startWebUI(args);
} catch (Exception e) {
System.err.println(ZAnsi.red("UI не запустился: " + e.getMessage()));
e.printStackTrace();
System.out.println(ZAnsi.yellow("Переключаюсь на режим TUI..."));
runTUI(args);
}
@@ -70,14 +71,16 @@ public class Main {
// Даем серверу время запуститься
Thread.sleep(1000);
// Проверяем headless перед запуском JavaFX
boolean isHeadless = java.awt.GraphicsEnvironment.isHeadless();
String display = System.getenv("DISPLAY");
if (isHeadless && (display == null || display.isEmpty())) {
System.out.println(ZAnsi.yellow("Дисплей недоступен, переключаюсь на TUI..."));
WebServer.stop();
runTUI(args);
return;
// Проверяем headless перед запуском JavaFX (только для не-Windows систем)
if (!System.getProperty("os.name").toLowerCase().contains("win")) {
boolean isHeadless = java.awt.GraphicsEnvironment.isHeadless();
String display = System.getenv("DISPLAY");
if (isHeadless && (display == null || display.isEmpty())) {
System.out.println(ZAnsi.yellow("Дисплей недоступен, переключаюсь на TUI..."));
WebServer.stop();
runTUI(args);
return;
}
}
// Проверка обновлений лаунчера