@Neonoviiwolf
Flutter developer

Тыкнете мне пальцем как собрать javaFx приложение?

Доброго!
Вот роюсь в гугле, но ни как негу найти, как собрать приложение из javaFx в IntelliJ IDEA. Я коекак что-то сделал и начали билдится 3 файлика, но толк от них никакой, один что-то запускает терминал и сворачивается, второй - что-то java пишет
п.с. приложение содержит gui, если это важно
4710140a92fb429ab440448a6235db88.png86a12357dfdd4da2b1863d48409fc3c9.png

Я так понимаю что приложение не подписано, но как его подписать? или я не правильно понимаю?
  • Вопрос задан
  • 3257 просмотров
Решения вопроса 1
@Vorh
1 ) Создаем Maven проект
2) Указываем в pom.xml что будем собирать jar:
<groupId>Example</groupId>
    <artifactId>Example</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>jar</packaging>

2) Подключаем плагин javafx-maven-plugin
<build>
        <plugins>
            <plugin>
                <groupId>com.zenjava</groupId>
                <artifactId>javafx-maven-plugin</artifactId>
                <version>2.0</version>
                <configuration>
                    <mainClass>тут пишем путь до вашего главного класса </mainClass>
                </configuration>
            </plugin>
        </plugins>
    </build>

3) Собираем проект командой mvn clean jfx:jar она соберет проект в двух экземплярах или выбираем через меню Maven Projects.
5) Заходим в target /jpx/app - тут лежит сам jar, а в target/jfx/app/lib - библеотеки которые использовались в проекте , при дистрибюции отдавать как jar-ку, так и папку «target/jfx/app/lib» которая должна лежать рядом с исполняемым файлом.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@Neonoviiwolf Автор вопроса
Flutter developer
Loading class `com.mysql.jdbc.Driver'. This is deprecated. The new driver class is `com.mysql.cj.jdbc.Driver'. The driver is automatically registered via the SPI and manual loading of the driver class is generally unnecessary.
Exception in Application start method
Exception in thread "main" java.lang.RuntimeException: Exception in Application start method
	at com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:917)
	at com.sun.javafx.application.LauncherImpl.lambda$launchApplication$155(LauncherImpl.java:182)
	at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.NullPointerException: Location is required.
	at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3207)
	at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3175)
	at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3148)
	at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3124)
	at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3104)
	at javafx.fxml.FXMLLoader.load(FXMLLoader.java:3097)
	at Main.start(Main.java:35)
	at com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$162(LauncherImpl.java:863)
	at com.sun.javafx.application.PlatformImpl.lambda$runAndWait$175(PlatformImpl.java:326)
	at com.sun.javafx.application.PlatformImpl.lambda$null$173(PlatformImpl.java:295)
	at java.security.AccessController.doPrivileged(Native Method)
	at com.sun.javafx.application.PlatformImpl.lambda$runLater$174(PlatformImpl.java:294)
	at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95)
	at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
	at com.sun.glass.ui.win.WinApplication.lambda$null$148(WinApplication.java:191)
	... 1 more

a08d7710b6984ae68eb0869da39df8f2.png

ругается на root = FXMLLoader.load(getClass().getResource("sample.fxml"));
не понимаю его

содержимое pom
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>fineFood</groupId>
    <artifactId>fineFood</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>jar</packaging>
    <build>
        <plugins>
            <plugin>
                <groupId>com.zenjava</groupId>
                <artifactId>javafx-maven-plugin</artifactId>
                <version>2.0</version>
                <configuration>
                    <mainClass>Main</mainClass>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                </configuration>
            </plugin>
        </plugins>
    </build>
    <dependencies>
        <!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>6.0.3</version>
        </dependency>
    </dependencies>
</project>
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы