Не удается установить кросс-платформенную зависимость jxbrowser

Я следовал этим инструкциям. Я могу успешно выполнить mvn install, если добавлю зависимость для конкретной платформы:

<dependency>
  <groupId>com.teamdev.jxbrowser</groupId>
  <artifactId>jxbrowser-linux64</artifactId>
  <version>6.2</version>
</dependency>

Но если я использую зависимость:

<dependency>
  <groupId>com.teamdev.jxbrowser</groupId>
  <artifactId>jxbrowser-cross-platform</artifactId>
  <version>6.2</version>
</dependency>

При запуске mvn install он загружает файлы jar для каждой платформы, но в конце выдает следующую ошибку:

Не удалось найти com.teamdev.jxbrowser:jxbrowser-cross-platform:jar:6.2

В каталоге .m2 я вижу файлы jar для отдельных платформ в соответствующих папках, а в папке jxbrowser-cross-platform нет файла jar.

Мне удалось найти обходной путь, добавив зависимость для каждой платформы по отдельности. Есть ли что-то, что мне здесь не хватает?


person Karan Shukla    schedule 12.04.2016    source источник
comment
Этот jar-файл отсутствует в центральном репозитории . Вот почему   -  person Hohenheim    schedule 12.04.2016
comment
Вы должны установить его вручную с помощью mvn install:install -file -Dfile =<path to file>...   -  person Hohenheim    schedule 12.04.2016
comment
@Hohenheim На самом деле сложнее (я предполагаю, что в OP уже настроено правильное репо), нет JAR, а только зависимость POM, поэтому тип и область действия неверны.   -  person Tunaki    schedule 12.04.2016
comment
@Tunaki извините, но не знаю такого трюка, но я думаю, что я не ошибаюсь и в своем комментарии?   -  person Hohenheim    schedule 12.04.2016
comment
@Hohenheim Да, у меня был настроен правильный репозиторий (забыл упомянуть), именно так он смог загрузить зависимости для конкретной платформы.   -  person Karan Shukla    schedule 13.04.2016
comment
@Tunaki Спасибо за добавление типа, так как у меня сработал pom.   -  person Karan Shukla    schedule 13.04.2016


Ответы (1)


Вам нужно добавить ссылку на репозиторий TeamDev для этой зависимости, поскольку она недоступна в Maven Central. Из инструкций:

Чтобы получить JAR-файлы JxBrowser с помощью Maven, вам необходимо добавить репозиторий TeamDev Maven в раздел repositories вашего файла pom.xml:

<repository>
    <id>com.teamdev</id>
    <url>http://maven.teamdev.com/repository/products</url>
</repository>

Затем вы можете добавить кросс-платформенную зависимость, который присутствует в этом репо:

<dependency>
    <groupId>com.teamdev.jxbrowser</groupId>
    <artifactId>jxbrowser-cross-platform</artifactId>
    <version>6.2</version>
    <type>pom</type>
    <scope>import</scope>
</dependency>

Обратите внимание на добавление <type> и <scope>, которых нет в инструкции, это объясняет вашу ошибку. Maven по умолчанию ищет JAR, но JAR отсутствует, только POM для этой зависимости, поэтому мы импортировать зависимости.

person Tunaki    schedule 12.04.2016
comment
Спасибо, @Tunaki <type>pom</type> помог мне, поправьте меня, если я ошибаюсь, но в моем случае мне пришлось удалить <scope>import</scope>, так как после успешной сборки maven он начал показывать мне ошибки компиляции. - person Karan Shukla; 13.04.2016