Я пытаюсь загрузить проект, созданный с помощью JavaFX, на Github. Я не думаю, что загрузки всего файла проекта (включая файлы pom.xml, изображения и Java) достаточно для правильной компиляции моей программы, когда пользователи загружают ее. Как я могу гарантировать, что люди смогут правильно запустить мой проект, если у них не загружен JavaFX и если JavaFX требует аргументов виртуальной машины? Я новичок в Maven и Github, так может ли кто-нибудь объяснить мне это подробно?
Приложению JavaFX необходимы некоторые поддерживающие библиотеки JavaFX. Эти библиотеки в настоящее время реализованы как OpenJFX , проект, совместно возглавляемый Oracle Corp и Gluon.
У вас есть два пути создания приложения JavaFX:
Какой путь лучше – это решение, которое вам предстоит принять в соответствии с потребностями вашей собственной ситуации.
Ни в одном случае вы не загружаете какие-либо библиотеки JavaFX в свой репозиторий Git.
Вы можете включить копию библиотек JavaFX/OpenJFX в свое приложение. Для этого укажите зависимость в файле Maven POM (или его эквиваленте в Gradle).
Пример зависимости внутри вашего POM:
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-controls</artifactId>
<version>22.0.2</version>
</dependency>
Получите номер текущей версии из репозитория Maven, например этот.
Эта информация была взята из документации по использованию JavaFX с Maven. Изучите это для более подробной информации.
Когда ваш проект будет построен, Maven загрузит копию этих библиотек, а затем установит их в ваш программный артефакт, скорее всего, в файл JAR.
Поэтому вам не нужно включать библиотеки JavaFX в репозиторий Git. Просто включите элемент <dependency>
в свой POM. Когда другой программист загружает копию вашего проекта с помощью этого POM и выполняет сборку, его собственная установка Maven затем загрузит для него копию библиотек JavaFX/OpenJFX, которая будет включена в созданное им приложение.
Maven (или Gradle ) упрощает этот процесс. Ваша IDE (IntelliJ, Eclipse, NetBeans и т. д.), скорее всего, поставляется с установленным Maven или Gradle. Если нет, вы можете установить его с помощью SDKMAN! быть хорошим инструментом для этого.
Альтернативно вы можете выбрать JDK, который поставляется в комплекте с библиотеками JavaFX (OpenJFX).
По крайней мере два поставщика предлагают такие версии своих продуктов JDK:
Если вы решите исключить зависимости OpenJFX из окончательного JAR-файла вашего приложения, опустите этот элемент <dependency>
из вашего POM. Обязательно сообщите другим программистам, что вы ожидаете, что они будут использовать JDK, который поставляется в комплекте с необходимыми библиотеками JavaFX/OpenJFX.
Зависимости от JavaFX должны быть указаны в файле
pom.xml
. Как вы думаете, чего бы не хватало?