Отсутствует артефакт net.sf.jung:jung2:jar:2.0

jung2 находится в репозитории maven, здесь и здесь.

Но мой Eclipse этого не обнаруживает:

введите здесь описание изображения

Код здесь:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>tests.jung</groupId>
    <artifactId>TryJung</artifactId>
    <version>0.0.1-SNAPSHOT</version>

    <dependencies>

        <dependency>
            <groupId>net.sf.jung</groupId>
            <artifactId>jung2</artifactId>
            <version>2.0</version>
        </dependency>



    </dependencies>
</project>

ОБНОВЛЕНИЕ

Извините, не могу принять ответы о типе зависимости, потому что он неполный. Код для jung-зависимости был взят напрямую из репозитория Maven:

введите здесь описание изображения

Итак, мне нужно объяснение, почему код, взятый с сайта репозитория, на самом деле не работает.

Что здесь происходит, кто «виноват»?


person Suzan Cioc    schedule 27.01.2015    source источник
comment
Проблема заключается просто в том, что артефакт, к которому вы обращаетесь, представляет собой файл pom, а не файл jar. Вот причина сообщения.   -  person khmarbaise    schedule 27.01.2015


Ответы (3)


Как уже было сказано, вы обращаетесь к файлу pom. Что, в некотором смысле, правильно, но если вы хотите скомпилировать, вам нужно будет добавить фактические jar-файлы в раздел зависимостей, например:

<dependencies>

    <dependency>
        <groupId>net.sf.jung</groupId>
        <artifactId>jung2</artifactId>
        <version>${jung.version}</version>
        <type>pom</type>
    </dependency>

    <dependency>
        <groupId>net.sf.jung</groupId>
        <artifactId>jung-api</artifactId>
        <version>${jung.version}</version>
        <scope>compile</scope>
    </dependency>

    <dependency>
        <groupId>net.sf.jung</groupId>
        <artifactId>jung-visualization</artifactId>
        <version>${jung.version}</version>
        <scope>compile</scope>
    </dependency>

    <dependency>
        <groupId>net.sf.jung</groupId>
        <artifactId>jung-graph-impl</artifactId>
        <version>${jung.version}</version>
        <scope>compile</scope>
    </dependency>

    <dependency>
        <groupId>net.sf.jung</groupId>
        <artifactId>jung-algorithms</artifactId>
        <version>${jung.version}</version>
        <scope>compile</scope>
    </dependency>

    <dependency>
        <groupId>net.sf.jung</groupId>
        <artifactId>jung-io</artifactId>
        <version>${jung.version}</version>
        <scope>compile</scope>
    </dependency>

</dependencies>

Не забудьте определить свойство версии также в разделе свойств:

<properties>
    <jung.version>2.0.1</jung.version>
</properties>

Надеюсь это поможет.

person Bruno Bossola    schedule 14.04.2015

Проблема заключается просто в том, что артефакт, к которому вы обращаетесь, представляет собой pom файл , а не файл jar. Вот причина сообщения.

person khmarbaise    schedule 27.01.2015
comment
Почему не пишет неверный тип артефакта, а пишет артефакт не найден? - person Suzan Cioc; 28.01.2015
comment
Тип артефакта по умолчанию jar, так что это проблема, которая означает, что вам нужно понимать значения Maven по умолчанию для зависимостей. - person khmarbaise; 28.01.2015
comment
Создатели mvnrepository.com сайта должны это понимать. Они, вероятно, не знают зависимости maven по умолчанию, так как они дают зависимость от pom без записи pom, см. Мое обновление. - person Suzan Cioc; 28.01.2015

только что наткнулся на ту же проблемную яму. по-видимому, это файлы pom исключительно для создания/документирования (всех) подпроектов (или подмодулей в maven) проекта (в данном случае jung2)

их нельзя использовать в качестве полезной зависимости

на самом деле вы можете зависеть от них с помощью <type>pom</type>, но будете просто включать зависимости этого pom, но не его модули.

см. здесь более полное объяснение: Как использовать POM в качестве зависимость в Maven?

person bernstein    schedule 05.08.2015