Maven和依赖

时间:2012-05-21 20:30:52

标签: eclipse maven

我不太明白我们需要什么样的maven以及依赖是什么。

任何人都可以用简单的词语解释什么意思?它在哪里寻找它们? 写作时:

<dependency>
  <groupId>org.eclipse.persistence</groupId>
  <artifactId>eclipselink</artifactId>
  <version>2.0.0</version>
</dependency>

它告诉:

Missing artifact org.eclipse.persistence:eclipselink:jar:2.0.0

这是什么意思?

我的系统上安装了2个版本的maven - 一个用于cmd,第二个用作eclipse的插件。有什么不同?哪种方式使用Maven更常见 - 来自cmd还是来自eclipse? 我读到某个地方,maven需要连接到互联网 - 这是为了什么?

3 个答案:

答案 0 :(得分:5)

我猜你是Maven的新手,我建议你仔细阅读以下链接

What is Maven?

DeveloperWorks article

Article in Java World

More Maven articles

答案 1 :(得分:2)

Maven是一个构建工具(如ant),它可以从在线服务器中提取特定版本的库和其他依赖项。如果你想使用库中的方法(甚至是它的旧版本)你不需要在你的计算机上安装库,maven将获取指定的版本并为你存储它。你甚至可以有两个项目使用同一个库的两个不同版本而没有任何冲突,因为maven会为你处理所有的库。

您所拥有的代码指定您将使用eclipselink库的2.0.0版。 Maven将搜索该库的该版本,首先在其库的缓存中,然后在在线数据库中,并编译代码和库,以便您的类可以访问库方法。

我不认为命令行或eclipse插件更受欢迎 - 我主要使用命令行,但都已安装。

答案 2 :(得分:0)

至于为什么maven表示您的依赖项缺失,您可以使用http://mvnrepository.com在maven中央存储库中查找依赖项。搜索“org.eclipse.persistence”会发现实际上可能需要:

<dependency>
<groupId>org.eclipse.persistence</groupId>
<artifactId>javax.persistence</artifactId>
<version>2.0.0</version>
</dependency>