具有依赖关系的 pom.xml 中的错误(缺少工件...)
Posted
技术标签:
【中文标题】具有依赖关系的 pom.xml 中的错误(缺少工件...)【英文标题】:Errors in pom.xml with dependencies (Missing artifact...) 【发布时间】:2013-08-09 02:33:36 【问题描述】:一位朋友传给我一个 Maven 项目,我试图在我的计算机上本地运行该项目。我在 Eclipse 中所做的一切,我都选择了:
文件 -> 导入 -> 现有的 Maven 项目
之后,该项目在我的pom.xml
中显示了 4 个错误(缺少工件..):
我尝试删除 .m2
文件夹的内容,然后在 Eclipse 中单击我的项目并选择“运行方式”->“Maven clean”,然后选择“运行方式”->“Maven 安装”。但我仍然有同样的错误。我是 Spring 新手,所以我不知道还能做什么。
编辑:
当我尝试执行以下操作时:运行为/ maven install,这就是我的控制台所说的:
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building DataLayer 0.0.1-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[WARNING] The POM for javax.persistence:javax.persistence:jar:1.0.0 is missing, no dependency information available
[WARNING] The POM for hibernate-core:hibernate-core:jar:4.2.1.Final is missing, no dependency information available
[WARNING] The POM for hibernate-commons-annotations:hibernate-commons-annotations:jar:4.0.1.Final is missing, no dependency information available
[WARNING] The POM for jboss-logging:jboss-logging:jar:3.1.0.CR2 is missing, no dependency information available
[WARNING] The POM for jta:jta:jar:1.1 is missing, no dependency information available
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1.065s
[INFO] Finished at: Wed Aug 07 11:41:45 VET 2013
[INFO] Final Memory: 4M/90M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal on project DataLayer: Could not resolve dependencies for project SocialManager:DataLayer:jar:0.0.1-SNAPSHOT: The following artifacts could not be resolved: javax.persistence:javax.persistence:jar:1.0.0, hibernate-core:hibernate-core:jar:4.2.1.Final, hibernate-commons-annotations:hibernate-commons-annotations:jar:4.0.1.Final, jboss-logging:jboss-logging:jar:3.1.0.CR2, jta:jta:jar:1.1: Failure to find javax.persistence:javax.persistence:jar:1.0.0 in http://repository.jboss.org/nexus/content/groups/public/ was cached in the local repository, resolution will not be reattempted until the update interval of JBoss repository has elapsed or updates are forced -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
EDIT2:这是我完整的 pom.xml:https://dl.dropboxusercontent.com/u/31349296/pom.xml 当我尝试将代码粘贴到此处时,它看起来很糟糕。
【问题讨论】:
【参考方案1】:好像很多依赖不正确。
Download the whole POM here
Maven Repository 网站是查找正确依赖项的好地方。
【讨论】:
我必须在 pom.xml 的末尾添加这些行吗?还是应该在其他文件中?之后我该怎么办?谢谢:) 这需要在settings.xml中输入 它需要在<project>
标签中,但你可以在<dependencies>
之前添加它。
@loki 它可以存在于项目的 pom 或 settings.xml 中。如果它在项目的 pom.xml 中,那么您可以避免这样的问题。如果它在 settings.xml 中,那么您可以避免使用存储库信息污染项目 pom。
@kiduxa 将其包含在答案中。祝你好运【参考方案2】:
这意味着 maven 无法从存储库下载工件。 以下步骤将对您有所帮助:
-
转到存储库浏览器并检查工件是否存在。
检查 settings.xml 以查看是否指定了正确的存储库。
检查代理设置。
【讨论】:
您能说得更具体些吗? “转到存储库浏览器并检查工件是否存在”如何? settings.xml 在哪里?谢谢你:) 好吧,maven 从存储库下载工件,并且存储库有 Web 浏览器,但在您的情况下,这些是标准 jars,因此可以跳过此步骤。 settings.xml 可以在 .m2 文件夹下找到。 在 .m2 文件夹内有另一个名为 "repositories" 的文件夹,但在 "repositories" 文件夹内也没有 settings.xml :S. 它应该与存储库文件夹一起放置在那里。您的设置似乎不正确。您还在帖子中提到您删除了 .m2 文件夹的内容,因此可能已被删除。 有没有办法重新生成settings.xml文件?【参考方案3】:我失去互联网连接后不知何故遇到了这个问题。我可以通过在 Eclipse 中更新 Maven 索引,然后选择我的项目并更新快照/版本来修复它。
【讨论】:
【参考方案4】:我知道这是一个老问题。但我希望我的回答对某人有所帮助。我遇到了同样的问题,我认为问题在于它在本地存储库中找不到那些 .jar 文件。所以我所做的就是将以下代码添加到我的 pom.xml 中并且它起作用了。
<repositories>
<repository>
<id>spring-milestones</id>
<name>Spring Milestones</name>
<url>https://repo.spring.io/libs-milestone</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>
【讨论】:
【参考方案5】:简单..
首先检查项目的结束标记。它应该在所有依赖标签都关闭后放置。这样我解决了我的错误。 --Sush 快乐编码:)
【讨论】:
【参考方案6】:这是一个很晚的答案,但这可能会有所帮助。我去了this link 并搜索了 ojdbc8(我正在尝试添加 jdbc oracle 驱动程序) 单击结果时,会显示如下注释:
我点击了注释中的链接,并提到了正确的依赖关系,如下所示
【讨论】:
以上是关于具有依赖关系的 pom.xml 中的错误(缺少工件...)的主要内容,如果未能解决你的问题,请参考以下文章
由于 pom.xml 中的错误,无法使用 Maven 运行构建