2012-12-03 46 views
2

我是新来的maven。我仍然没有把握它的概念。maven知识库

例如我正在查找com.extjs:gxt:jar:2.2.5或org.syslog4j:syslog4j:jar:0.9.46。我无法在任何回购中找到它们。然而,他们看起来很常见的软件

这是否意味着我必须手动下载它们?它不是打败了maven的整个想法吗?

我在哪里可以找到一个好的存储库,它将包含所有这些工件,以便我不需要手动下载罐子?

使用maven当我在做什么错了,这绝对似乎没有要走的路...

回答

3

你没有做错什么。问题在于这些工件在maven central repository中不存在。默认情况下,这是唯一的存储库maven将从中下载。您可以添加额外的存储库(请参阅maven文档)以配置未镜像到中央存储库的存储库。

+0

因此,在上述两个工件的情况下,我要添加哪个存储库? – shkra19

+0

您应该创建自己的公司回购(例如,尝试使用http://www.sonatype.org/nexus/)。 –

0

正如@Michael所说,你没有做错什么。

默认的Maven中央存储库不会在地球上提供所有可能的工件。

通常你可以解决它双向:

1)您使用的神器可以由一些组织,他们提供自己的仓库来存储那些神器来提供。告诉Maven查找这些存储库,以便Maven可以检索相应的工件。

2)获取JAR等,并在您当地的环境。

有对上述工作最常用的两种方法:

A)有一个“局部” Maven仓库/代理资讯(例如Nexus,Artifactory的),让你的Maven的指向这个仓库。添加新的远程仓库(1)主要通过在本地Maven仓库中添加额外的仓库代理来完成。手动处理第三方工件(2)是通过将JAR部署到本地仓库来完成的。 B)全部由本地Maven在本地完成。通过更新settings.xml(或您的项目POM.xml)来添加新的远程回购(1)。手动处理第三方工件(2)通过将第三方JAR安装到本地存储库完成。

0

可以使用

<dependency> 
     <groupId>com.extjs</groupId> 
     <artifactId>gxt</artifactId> 
     <version>2.3.0-gwt22</version> 
    </dependency>