如上所述,我对maven有疑问。在我目前的eclipse项目中,我使用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名称相同但以jar.lastUpdated结尾的文件。
我尝试了maven clean和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>
我不知道为什么它不仅仅是重装罐子而是保持这种奇怪的状态。非常适合帮助。
答案 0 :(得分:2)
Maven基本上告诉你它无法找到你在pom.xml中声明的依赖项。有一个名为*.jar.lastUpdated
的文件的事实意味着Maven试图下载依赖项但无法获取它。
首先,您可以尝试完全删除包含*.jar.lastUpdated
的文件夹,然后再次运行构建。然后,Maven将尝试再次下载依赖项。也许这只是一个暂时的错误。
但由于此依赖项在Maven Central中不可用,您可能必须将相应的存储库添加到pom.xml。
答案 1 :(得分:0)
有时官方声明的依赖配置也是错误的。例如,截至2015-05-23,Robolectric网站说...
<dependency>
<groupId>org.robolectric</groupId>
<artifactId>robolectric</artifactId>
<version>3.0</version>
<scope>test</scope>
</dependency>
...它给出了您描述的相同错误。在敲了一会儿之后(当然这是我第一次尝试过Maven),我最后在Maven Central查看了这个网址:http://mvnrepository.com/artifact/org.robolectric/robolectric
瞧,没有版本3.0 。相反,有版本“3.0-rc1”和“3.0-rc2”。当我将依赖项更改为“3.0-rc2”时,突然一切正常。
答案 2 :(得分:0)
我得到了这样的错误:
容器'Maven Dependencies'引用非现有库'G:\ m2 \ repository \ org \ apache \ tomcat \ tomcat-embed \ 7.0.65 \ tomcat-embed-7.0.65.jar'
我发现tomcat-embed
实际上是*.pom
个文件但不是*.jar
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-embed</artifactId>
<version>7.0.65</version>
<type>pom</type>
</dependency>
所以我解决了这个问题:
tomcat-embed-7.0.65.jar.lastUpdated
*.jar
文件复制到目录G:\m2\repository\org\apache\tomcat\tomcat-embed\7.0.65\
tomcat-embed-7.0.65.jar
但另一种解决这个问题的方法是什么?
答案 3 :(得分:0)
首先,你修复,互联网问题。之后您必须删除maven存储库文件夹中的文件夹。 (对我来说是C:\ Users \ ekomut.m2 \ repository)
如果您遇到Internet问题,可以看到“* .jar.lastUpdated”。如果您不删除此文件夹,则maven无法再次尝试下载。