我将我已经工作的项目导入到另一台计算机上,它开始下载依赖项。

显然我的网络连接崩溃了,现在我得到了以下信息:

    >Build errors for comics; org.apache.maven.lifecycle.LifecycleExecutionException:
    Failed to execute goal on project comicsTest: Could not resolve dependencies for project comicsTest:comicsTest:war:0.0.1-SNAPSHOT:
    The following artifacts could not be resolved:
    org.springframework:spring-context:jar:3.0.5.RELEASE,
    org.hibernate:hibernate-entitymanager:jar:3.6.0.Final,
    org.hibernate:hibernate-core:jar:3.6.0.Final,
    org.hibernate:hibernate-commons-annotations:jar:3.2.0.Final,
    org.aspectj:aspectjweaver:jar:1.6.8,
    commons-lang:commons-lang:jar:2.5,

    >mysql:mysql-connector-java:jar:5.1.13: Failure to transfer org.springframework:spring-context:jar:3.0.5.RELEASE from http://repo1.maven.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.

    >Original error: Could not transfer artifact org.springframework:spring-context:jar:3.0.5.RELEASE from central (http://repo1.maven.org/maven2): No response received after 60000

如何强制maven更新?


当前回答

重要的是,使用-U和不使用-U运行mvn的主要区别是-U将用远程SNAPSHOT jar覆盖本地SNAPSHOT jar。

如果你的proj中有其他模块生成jar,则从本地mvn安装创建本地快照jar。

其他回答

如果你正在使用eclipse IDE,那么:

选择项目。 按alt+F5,更新Maven项目窗口将弹出。 检查-强制更新快照/发布,单击“确定”。

如果使用Intellij IDE

进入settings/Maven 总是更新快照

您可以从Eclipse IDE中有效地完成这些工作。当然,如果你在用的话。

Project_Name->Maven->Update Project Configuration->Force Update of Snapshots/Releases

如果你的本地存储库在某种程度上为发布jar而不是快照(-U和——update-snapshots只更新快照)搞砸了,你可以使用以下命令清除本地回购:

 mvn dependency:purge-local-repository

然后你可能想要清理并重新安装:

 mvn dependency:purge-local-repository clean install

更多信息请访问https://maven.apache.org/plugins/maven-dependency-plugin/examples/purging-local-repository.html

以防有人只想更新项目的快照依赖项而不想安装工件:

mvn dependency:resolve -U

不要忘记在IDE中重新导入依赖项。在IDEA中,您需要右键单击pom文件,并选择Maven ->重新导入

我有同样的错误,运行mvn install -U,然后运行mvn install为我工作。