2013-05-14 4 views
2

Как указано выше, у меня есть проблема с maven. В моем текущем проекте eclipse я использовал maven для управления dependecy, и он работал нормально до сих пор.Maven Записи зависимостей от существующей библиотеки

Проект больше не работает, и в нем говорится, что:

Maven Dependencies references non existing library: 
    c:\.m2\repository\org\eclipse\lyo\oslc4j\core\oslc4j-core\1.1\oslc4j-core-1.1.jar' 

Если я проверить папку есть файлы, которые имеют такое же имя, как банка, но заканчивающиеся на jar.lastUpdated.

Я попробовал обновление maven и обновление maven, которое не сработало. Строка в моем pom.xml отмечен красным и заявляет:

Missing artifact org.eclipse.lyo.oslc4j.core:oslc4j-core:jar:1.1 

Это содержание моего pom.xml:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http:/www.w3.org2001XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.or/xsd/maven-4.0.0.xsd"> 
<modelVersion>4.0.0</modelVersion> 
<groupId>rtc_oslc_common</groupId> 
<artifactId>rtc_oslc_common</artifactId> 
<version>0.0.1-SNAPSHOT</version> 
<build> 
    <sourceDirectory>src</sourceDirectory> 
    <plugins> 
    <plugin> 
     <artifactId>maven-compiler-plugin</artifactId> 
     <version>2.3.2</version> 
     <configuration> 
     <source>1.6</source> 
     <target>1.6</target> 
     </configuration> 
    </plugin> 
    </plugins> 
</build> 

Этот блок является один с маркером, где он утверждает, артефакт пропал, отсутствует.

<dependencies> 
    <dependency> 
    <groupId>org.eclipse.lyo.oslc4j.core</groupId> 
    <artifactId>oslc4j-core</artifactId> 
    <version>1.1</version> 
    </dependency> 
</dependencies> 
</project> 

Я не знаю, почему это не просто перезарядка банок и вместо этого остается в этом странном состоянии. Помогите очень appriaciated.

+0

Сначала проверьте, почему ваш проект не использует [правила maven для макета папки] (http://maven.apache.org/guides/introduction/introduction-to-the-standard-directory-layout.html). Кроме того, вы должны просто удалить артефакт из своего локального репозитория (org/eclipse /) и перестроить. – khmarbaise

ответ

2

В основном Maven сообщает вам, что он не может найти зависимость, указанную в вашем pom.xml. Тот факт, что есть файл под названием *.jar.lastUpdated, означает, что Maven попытался загрузить зависимость, но не смог ее извлечь.

Сначала вы можете попытаться полностью удалить папку, содержащую *.jar.lastUpdated, и заново запустить сборку. Затем Maven попытается загрузить зависимость. Возможно, это была временная ошибка.

Но поскольку эта зависимость недоступна в Maven Central, вам может потребоваться добавить соответствующий репозиторий в ваш pom.xml.

0

Иногда официальная заявленная конфигурация зависимостей также неверна. Например, по состоянию на 2015-05-23 Robolectric сайт говорит ...

<dependency> 
    <groupId>org.robolectric</groupId> 
    <artifactId>robolectric</artifactId> 
    <version>3.0</version> 
    <scope>test</scope> 
</dependency> 

... который дает ту же ошибку, вы можете описать. После того, как стучали голову на некоторое время (конечно, это был первый раз, когда я пытался Maven), я в конечном итоге проверки на Maven Central этого URL: http://mvnrepository.com/artifact/org.robolectric/robolectric

глядь, нет версии 3.0. Вместо этого существуют версии «3.0-rc1» и «3.0-rc2». Когда я изменил зависимость с «3.0-rc2», внезапно все сработало.

0

я получил ошибку, как это:

Контейнер ссылки 'зависимостями Maven' не существующие библиотеки «G: \ м2 \ хранилище \ орг \ Apache \ Tomcat \ встраивать-кот \ 7.0.65 \ мартовский кот -embed-7.0.65.баночка»

Я нашел tomcat-embed фактически *.pom файл, но не *.jar

<dependency> 
    <groupId>org.apache.tomcat</groupId> 
    <artifactId>tomcat-embed</artifactId> 
    <version>7.0.65</version> 
    <type>pom</type> 
</dependency> 

Так я установил эту проблему:

  1. удалить tomcat-embed-7.0.65.jar.lastUpdated
  2. скопировать *.jar файл до G:\m2\repository\org\apache\tomcat\tomcat-embed\7.0.65\
  3. переименован в tomcat-embed-7.0.65.jar

Но другой способ решить эту проблему?

0

Во-первых, вы исправляете проблему с intenet. после этого вы должны удалить папки в папке репозитория maven. (Для меня C: \ Users \ ekomut.m2 \ repository)

Если у вас есть проблема с Интернетом, вы можете увидеть «* .jar.lastUpdated». Если вы не удаляете эту папку, maven не может попробовать скачать еще раз.

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