我正在尝试编译一个在一台Ubuntu机器上工作的Maven项目,但不能在另一台机器上运行,我不知道为什么。它使用Play框架。该项目的pom.xml文件的开头包含:
<parent>
<groupId>org.play</groupId>
<artifactId>play-parent</artifactId>
<version>1.1</version>
</parent>
当我运行mvn install时,我收到此错误:
[INFO] Scanning for projects...
[ERROR] The build could not read 1 project -> [Help 1]
[ERROR]
[ERROR] The project ... pom.xml) has 1 error
[ERROR] Non-resolvable parent POM: Failure to find org.play:play-parent:pom:1.1 in
http://repo.maven.apache.org/maven2 was cached in the local repository, resolution
will not be reattempted until the update interval of central has elapsed or
updates are forced and 'parent.relativePath' points at wrong local POM @
line 5, column 11 -> [Help 2]
我从其他计算机复制的Maven settings.xml文件包含:
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
http://maven.apache.org/xsd/settings-1.0.0.xsd">
<localRepository/>
<interactiveMode/>
<usePluginRegistry/>
<offline/>
<pluginGroups/>
<servers>
artifactory ids, logins and passwords
</servers>
<mirrors/>
<proxies/>
<profiles/>
<activeProfiles/>
</settings>
我已经安装了游戏框架,并按照安装play maven模块的指示运行“play install maven”:http://www.playframework.org/modules/maven-1.0/home我假设我需要告诉Maven某个地方这个模块的位置。我不想修改pom.xml文件,因为它在另一台机器上工作,我宁愿以更好的方式解决这个问题。
有谁知道什么是错的,或者对我能做什么有任何暗示?
答案 0 :(得分:1)
您缺少本地maven存储库中的play-parent。您链接的页面会指示您执行此操作play mvn:init
,这样做。
显然,该命令都将模块安装到本地repo ,创建一个新的pom.xml文件。如果您不希望后者发生,我认为您可以存储当前的pom并在play mvn:init
完成在本地仓库中安装play-parent之后恢复到该pom。
答案 1 :(得分:0)
我遇到了类似的问题,并且能够通过将我的settings.xml复制到位于我的根文件夹中的.m2目录并在终端上对项目执行“mvn clean install”来修复它。如果有帮助,请告诉我。