Загрузка проекта JavaFX на GitHub

Я пытаюсь загрузить проект, созданный с помощью JavaFX, на Github. Я не думаю, что загрузки всего файла проекта (включая файлы pom.xml, изображения и Java) достаточно для правильной компиляции моей программы, когда пользователи загружают ее. Как я могу гарантировать, что люди смогут правильно запустить мой проект, если у них не загружен JavaFX и если JavaFX требует аргументов виртуальной машины? Я новичок в Maven и Github, так может ли кто-нибудь объяснить мне это подробно?

Зависимости от JavaFX должны быть указаны в файле pom.xml. Как вы думаете, чего бы не хватало?

James_D 31.07.2024 19:35
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
1
50
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Приложению JavaFX необходимы некоторые поддерживающие библиотеки JavaFX. Эти библиотеки в настоящее время реализованы как OpenJFX , проект, совместно возглавляемый Oracle Corp и Gluon.

У вас есть два пути создания приложения JavaFX:

  • Включение библиотек JavaFX в качестве зависимости, указанной в вашем POM.
  • Использование JDK, поставляемого в комплекте с библиотеками 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

Альтернативно вы можете выбрать JDK, который поставляется в комплекте с библиотеками JavaFX (OpenJFX).

По крайней мере два поставщика предлагают такие версии своих продуктов JDK:

  • Azul Systems в своих продуктах ZuluFX
  • BellSoft в своих продуктах LibericaFX

Если вы решите исключить зависимости OpenJFX из окончательного JAR-файла вашего приложения, опустите этот элемент <dependency> из вашего POM. Обязательно сообщите другим программистам, что вы ожидаете, что они будут использовать JDK, который поставляется в комплекте с необходимыми библиотеками JavaFX/OpenJFX.

Другие вопросы по теме