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

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

    >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更新?


当前回答

我有同样的错误与android-maps-utils依赖。使用aar类型包在依赖部分解决我的问题。 默认类型是jar,因此可能会检查在存储库中下载的依赖项类型。

其他回答

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

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

如果使用Intellij IDE

进入settings/Maven 总是更新快照

如果你的本地存储库在某种程度上为发布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

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

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

我使用了IntelliJ IDE,我有一个类似的问题,为了解决这个问题,我在Maven选项卡中单击“为所有项目生成源代码和更新文件夹”。

What maven does is, it downloads all your project's dependencies into your local repo (.m2 folder). Because of the internet causing issues with your local repo, you project is facing problems. I am not sure if this will surely help you or not but you can try deleting all the files within the repository folder inside the .m2 folder. Since there would be nothing in the local repo, maven would be forced to download the dependencies again, thus forcing an update. Generally, the .m2 folder is located at c:users:[username]:.m2