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