Создание кроссплатформенной сборки JavaFX с использованием Gradle - PullRequest
1 голос
/ 03 мая 2020

Я работаю над новым проектом с использованием Gradle и JavaFX. Ранее я мог создавать кроссплатформенную сборку с использованием Maven со следующими зависимостями pom:

<dependency>
            <groupId>org.openjfx</groupId>
            <artifactId>javafx-graphics</artifactId>
            <version>13</version>
            <classifier>win</classifier>
        </dependency>
        <dependency>
            <groupId>org.openjfx</groupId>
            <artifactId>javafx-graphics</artifactId>
            <version>13</version>
            <classifier>linux</classifier>
        </dependency>
        <dependency>
            <groupId>org.openjfx</groupId>
            <artifactId>javafx-graphics</artifactId>
            <version>13</version>
            <classifier>mac</classifier>
        </dependency>

Как мне go сделать что-то подобное с Gradle? Я попробовал следующее, но безуспешно. Неверный синтаксис классификатора?

compile group: 'org.openjfx', name: 'javafx-graphics', version: '11.0.2:win'
compile group: 'org.openjfx', name: 'javafx-graphics', version: '11.0.2:linux'
compile group: 'org.openjfx', name: 'javafx-graphics', version: '11.0.2:mac'

Будем благодарны за любые подсказки!

Ответы [ 2 ]

1 голос
/ 04 мая 2020

Синтаксис действительно неверен в Gradle. Документация покажет вам другой поддерживаемый синтаксис.

Двумя наиболее распространенными являются стиль карты, который вы использовали, и разделенная нотация :.

Итак, взяв один из ваших В качестве примера зависимости вы должны использовать:

  • compile group: 'org.openjfx', name: 'javafx-graphics', version: '11.0.2', classifier: 'win'
  • compile 'org.openjfx:javafx-graphics:11.0.2:win'

Обратите внимание, что вам также следует прекратить использование compile конфигурации и вместо этого используйте implementation. См. это объяснение , чтобы понять больше по этой теме c.

0 голосов
/ 04 мая 2020

Решение оказалось следующими зависимостями сборки gradle:

implementation group: 'org.openjfx', name: 'javafx-base', version: javaFxVersion, classifier: 'win'
implementation group: 'org.openjfx', name: 'javafx-base', version: javaFxVersion, classifier: 'mac'
implementation group: 'org.openjfx', name: 'javafx-base', version: javaFxVersion, classifier: 'linux'
implementation group: 'org.openjfx', name: 'javafx-controls', version: javaFxVersion, classifier: 'win'
implementation group: 'org.openjfx', name: 'javafx-controls', version: javaFxVersion, classifier: 'mac'
implementation group: 'org.openjfx', name: 'javafx-controls', version: javaFxVersion, classifier: 'linux'
implementation group: 'org.openjfx', name: 'javafx-fxml', version: javaFxVersion, classifier: 'win'
implementation group: 'org.openjfx', name: 'javafx-fxml', version: javaFxVersion, classifier: 'mac'
implementation group: 'org.openjfx', name: 'javafx-fxml', version: javaFxVersion, classifier: 'linux'
implementation group: 'org.openjfx', name: 'javafx-graphics', version: javaFxVersion, classifier: 'win'
implementation group: 'org.openjfx', name: 'javafx-graphics', version: javaFxVersion, classifier: 'mac'
implementation group: 'org.openjfx', name: 'javafx-graphics', version: javaFxVersion, classifier: 'linux'

Это позволяет запускать сборку javafx в любой ОС.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...