3

如上所述,我对 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 update,但没有成功。我的 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>

我不知道为什么它不只是重新加载罐子而是停留在这种奇怪的状态。非常有帮助。

4

4 回答 4

3

基本上 Maven 告诉你它找不到你在 pom.xml 中声明的依赖项。有一个名为的文件的事实*.jar.lastUpdated意味着 Maven 尝试下载依赖项但无法获取它。

首先,您可以尝试完全删除包含 的文件夹*.jar.lastUpdated并再次运行构建。然后 Maven 将尝试再次下载依赖项。也许这只是一个暂时的错误。

但由于 Maven Central 中没有此依赖项,您可能必须将相应的存储库添加到您的 pom.xml。

于 2013-05-20T08:28:12.090 回答
0

有时,官方声明的依赖配置也不正确。例如,截至 2015 年 5 月 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”时,突然一切正常。

于 2015-05-24T02:11:46.513 回答
0

首先,您修复互联网问题。之后,您必须删除 Maven 存储库文件夹中的文件夹。(对我来说 C:\Users\ekomut.m2\repository)

如果你有网络问题,你可以看到“*.jar.lastUpdated”。如果你不删除这个文件夹,maven不能再次尝试下载。

于 2016-08-02T13:36:58.530 回答
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>

所以我通过以下方式解决了这个问题:

  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

但是解决这个问题的另一种方法是什么?

于 2016-06-08T08:20:08.453 回答