解决依赖关系时出现Maven错误

IAm*_*aja 6 java dependencies ehcache maven

我是Maven的新手,我正试图建立我的第POM一个.我的应用程序将使用EhCache进行缓存.转到Maven Central Repo(链接在这里)我复制粘贴<dependency>标签并将其复制到我的pom.xml喜欢中:

...many dependencies above this point
<dependency>
    <scope>compile</scope>
    <groupId>org.hibernate</groupId>
    <artifactId>hibernate-entitymanager</artifactId>
    <version>4.0.1.Final</version>
</dependency>
<dependency>
    <scope>compile</scope>
    <groupId>net.sf.ehcache</groupId>
    <artifactId>ehcache</artifactId>
    <version>2.5.0</version>
</dependency>
<dependency>
    <scope>compile</scope>
    <groupId>jasperreports</groupId>
    <artifactId>jasperreports</artifactId>
    <version>3.5.3</version>
</dependency>
...many dependencies below this point
Run Code Online (Sandbox Code Playgroud)

当我保存更改时,Eclipse构建工作区并在<dependency>EhCache 2.5 的开始标记上给出错误:

缺少工件net.sf.ehcache:ehcache:jar:2.5.0

所以我认为也许v.2.5.0有一些问题,并重复相同的2.4.7(2.4.x之前的最后一个版本2.5.0).同样的交易.

因为我对Maven这么新,所以我甚至不知道从哪里开始寻找.我尝试Project >> Clean甚至重新启动Eclipse以查看它是否只是典型的Eclipse"怪癖".不.

我在想:

  • EhCache可以将糟糕的JAR发布到Maven回购中吗?
  • Maven Repo可能有问题吗?
  • 这可能是由于我的其他配置错误了pom.xml吗?
  • 这可能是一个" JAR地狱 "问题,我的依赖图上某处有冲突吗?

SO将如何开始解决这个问题?提前致谢!

mre*_*isz 8

引用search.maven.org通常更安全.从那里依赖:

<dependency>
    <groupId>net.sf.ehcache</groupId>
    <artifactId>ehcache</artifactId>
    <version>2.5.0</version>
    <type>pom</type>
</dependency>
Run Code Online (Sandbox Code Playgroud)

心灵型pom.从模块的pom:

这是一个用于集群的ehcache-core和ehcache-terracotta的pom工件.确保在依赖项中将"type"设置为"pom".

显然,当有人不需要兵马俑时,ehcache-core会像其他答案状态一样完美.


Kai*_*nad 8

他们ehcache-core 在官方文档中使用.Maven Central没有ehcache 2.5 的jar工件,这解释了你的错误信息.

使用ehcache-core将依赖项更改为:

<dependency>
  <groupId>net.sf.ehcache</groupId>
  <artifactId>ehcache-core</artifactId>
  <version>2.5.0</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)

哪个成功下载到我的机器上(ehcache没有).