2015-01-27 2 views
4

jung2 находится в репозитории maven, here и here.Отсутствует артефакт net.sf.jung: jung2: jar: 2.0

Но мой Eclipse, не найдя его:

enter image description here

код здесь:

<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> 

UPDATE

К сожалению, не может принимать ответы на вопросы о типе зависимости, потому что он не является полным. Код для Чжуна зависимости был взят из Maven хранилища непосредственно:

enter image description here

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

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

+0

Проблемы просто артефакт вы адресация является [файлом П] (http://search.maven.org/#artifactdetails%7Cnet.sf. jung% 7Cjung2% 7C2.0% 7Cpom), а не файл jar. В этом причина сообщения. – khmarbaise

ответ

1

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

+0

Так что же тогда делать? –

+0

Почему он не пишет «неправильный тип артефакта», но пишет «артефакт не найден»? –

+0

Тип артефакта по умолчанию «jar», поэтому проблема заключается в том, что вам нужно понимать значения Maven по умолчанию для зависимостей. – khmarbaise

3

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

<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> 

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

0

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

они не могут использоваться в качестве зависимости полезным способом

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

посмотреть здесь для более полного объяснения: How to use POMs as a dependency in Maven?

Смежные вопросы