fix: добавляем JavaFX module-path и настройки для GUI запуска
This commit is contained in:
@@ -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
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
// Проверка обновлений лаунчера
|
||||
|
||||
Reference in New Issue
Block a user