#javafx #deployment #exe
#javafx #развертывание #exe
Вопрос:
Я создаю новое приложение JavaFX. Я сделал это, теперь мне нужно создать exe-файл. После сборки я установил его, затем я запускаю программу и ничего. Окна приложения нет, оно отображалось только в диспетчере задач… В проекте нет ошибок, только некоторые гарантии. Я использую в нем http-соединения, может быть, мне нужно объявить разрешения или что-то в этом роде? Где я могу это сделать, если это проблема?
Я попытался сгенерировать новое build.xml, включаю новейший sdk / jre, установил новую версию Java на моем компьютере.
Комментарии:
1. Запустите jar из командной строки, чтобы посмотреть, какие ошибки вы получаете.
2. Ошибок нет, но графический интерфейс не отображается
3. Скорее всего, вы написали программу, которая неправильно улавливает ошибки.
Ответ №1:
Java не может создать exe
файл самостоятельно. Для запуска приложения каждому клиенту, которому необходимо запустить приложение, требуется установить соответствующую JRE. Поэтому для его установки вам потребуется какое-либо программное обеспечение, которое упаковывает jar
и JRE в exe
файл, или упаковывает jar
и JRE в один exe
файл, который выполняет вашу программу. Это не имеет никакого отношения к вашим http- соединениям или build.xml
.
Однако ваше приложение будет запускаться при вызове его через командную строку java -jar YOUR_APP.jar
Если вы просто хотите запустить свою программу двойным щелчком по jar
файлу (а не создавать exe
), вы можете взглянуть на следующие параграфы.
Для Maven
Если вы создаете свой проект с помощью Maven, вы можете попробовать следующие настройки POM, чтобы ваша программа была исполняемой из файла jar (дважды щелкните файл jar, чтобы запустить приложение JavaFX):
[...]
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.5.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
<plugin>
<groupId>com.zenjava</groupId>
<artifactId>javafx-maven-plugin</artifactId>
<version>8.1.4</version>
<configuration>
<mainClass>PATH TO YOUR MAIN CLASS (e.g. com.foo.Main)</mainClass>
<allPermissions>true</allPermissions>
</configuration>
<executions>
<execution>
<id>create-jfxjar</id>
<phase>package</phase>
<goals>
<goal>build-jar</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<archive>
<manifest>
<mainClass>PATH TO YOUR MAIN CLASS (e.g. com.foo.Main)</mainClass>
</manifest>
</archive>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
[...]
Ответ №2:
Я рекомендую вам экспортировать его как jar-файл, потому что его можно выполнить и в Linux, и это устраняет вашу проблему, потому что оно может содержать все необходимые вам данные, как и fxml!
Просто экспортируйте свой проект в виде jar, который можно запускать, и появится это окно! Нажмите здесь!У меня недостаточно репутации (но это работает ;)) И теперь вы закончили!
Комментарии:
1. Извините за мои ошибки в английском и Photoshop