在STS(Springsource工具套件)中工作时,打开pom.xml文件并检查“依赖项选项卡”中的依赖项,添加/选择maven依赖项将找到0结果。我们需要编辑pom.xml来手动添加依赖项。有没有办法让M2E知道在哪里检查存储库以搜索依赖?
答案 0 :(得分:3)
默认情况下,所有 pom.xml 都会自动扩展Super POM,它位于maven_installation_folder/lib/maven-x.x.x-uber.jar
==>包org.apache.maven.project
==> pom-4.0.0.xml 。 Super POM中指定的所有配置都由您为项目创建的POM继承。
如果您打开 pom-4.0.0.xml ,您会发现此处定义了maven中央存储库http://repo1.maven.org/maven2/
。这意味着如果您在 pom.xml 中指定<dependency>
,maven将尝试按以下顺序下载此依赖项:
<repository>
部分中定义)通常,我会使用一些maven存储库搜索引擎(例如this)来查找我想要使用的库/框架/工具的<dependency>
,然后将它们粘贴到<强>的pom.xml 强>
如果Maven中央存储库中存在依赖关系,一切都会正常,并将下载到本地存储库。但是,如果无法从Maven中央存储库中找到并下载某些<dependency>
(例如Hibernate),您可以尝试访问其官方站点以查找其存储库链接并将其粘贴到<repository>
中 pom.xml 的一部分。例如,Hibernate要求在pom.xml中定义jboss存储库,如下所示:
<repositories>
<repository>
<id>repository.jboss.org</id>
<name>JBoss Repository</name>
<url>http://repository.jboss.org/nexus/content/groups/public-jboss</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>
您可以参考this了解<repository>
答案 1 :(得分:2)
默认情况下,M2e会在maven中央存储库中搜索工件。它下载一个包含工件详细信息的索引文件。您可以通过在 settings.xml 文件的存储库部分中指定相同的存储库来配置其他存储库。请注意,某些存储库没有此索引文件。