我在其他计算机上导入了我的工作项目,因此它开始下载依赖项.
显然在此期间我的互联网连接崩溃了.现在我得到:
为漫画构建错误; org.apache.maven.lifecycle.LifecycleExecutionException:无法在项目漫画上执行目标测试:无法解析项目漫画的依赖项测试:漫画测试:war:0.0.1-SNAPSHOT:无法解析以下工件: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-注释: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:无法传输org.springframework:来自http://repo1.maven.org/maven2的 spring-context:jar:3.0.5.RELEASE 缓存在本地存储库中,在中心的更新间隔过去或强制更新之前,不会重新尝试解析.
原始错误:无法传输工件org.springframework:spring-context:jar:3.0.5.RELEASE from central(http://repo1.maven.org/maven2):60000后没有收到回复
我不知道如何强制maven更新?
lwp*_*ro2 1520
mvn clean install -U
Run Code Online (Sandbox Code Playgroud)
-U
表示强制更新快照依赖项.发布依赖项无法以这种方式更新.
Ayu*_*pta 88
-U
似乎强制更新所有依赖项.
如果您想要在没有干净的情况下更新单个依赖项,或者-U
您可以从本地存储库中删除它,然后进行构建.
以下示例如果要更新slf4j-api 1.7.1-SNAPSHOT
:
rm -rf ~/.m2/repository/org/slf4j/slf4j-api/1.7.1-SNAPSHOT
mvn compile
Run Code Online (Sandbox Code Playgroud)
Fuz*_*ulz 78
如果您的本地存储库以某种方式被释放为发布jar而不是快照(-U
并且--update-snapshots
只更新快照),则可以使用以下方法清除本地存储库:
mvn dependency:purge-local-repository
Run Code Online (Sandbox Code Playgroud)
您可能希望再次清理并安装:
mvn dependency:purge-local-repository clean install
Run Code Online (Sandbox Code Playgroud)
有关更多信息,请访问https://maven.apache.org/plugins/maven-dependency-plugin/examples/purging-local-repository.html
Rob*_*eiz 53
这里的所有答案都不适用于我.我用锤子方法:
find ~/.m2/ -name "*.lastUpdated" | xargs rm
Run Code Online (Sandbox Code Playgroud)
这解决了问题:-)
Ami*_*kya 43
你可以有效地做到Eclipse IDE
.当然,如果你正在使用它.
Project_Name->Maven->Update Project Configuration->Force Update of Snapshots/Releases
Run Code Online (Sandbox Code Playgroud)
Gla*_*ier 25
以防万一有人只想更新项目的快照依赖项并且不想安装工件:
mvn dependency:resolve -U
Run Code Online (Sandbox Code Playgroud)
不要忘记在IDE中重新导入依赖项.在IDEA中,您需要右键单击pom文件并选择Maven - > Reimport
mer*_*ejy 13
如果您不确定本地存储库中的内容,我建议使用以下选项触发构建:
-Dmaven.repo.local=localrepo
Run Code Online (Sandbox Code Playgroud)
这样你就可以确保建立一个洁净室环境.
小智 6
如果您使用的是Eclipse IDE,则:
按 alt+F5,将弹出更新 Maven 项目的窗口。
选中 - 强制更新快照/发布并单击确定。
如果使用Intellij IDE
以前版本的 maven 在使用 -U 和 mvn clean install 时不会强制检查丢失的版本,仅检查快照,尽管较新的版本支持此功能。
对于仍在与以前的版本作斗争的人来说,以下内容可能会有所帮助 -
在 Windows 上:
cd %userprofile%\.m2\repository
for /r %i in (*.lastUpdated) do del %i
Run Code Online (Sandbox Code Playgroud)
在 Linux 上:
find ~/.m2 -name "*.lastUpdated" -exec grep -q "Could not transfer" {} \; -print -exec rm {} \;
Run Code Online (Sandbox Code Playgroud)
每当 maven 由于任何原因(连接/不存在等)无法下载依赖项时,它都会在 $home/.m2 目录下相应文件夹中的 dependency-name.lastUpdate 文件中添加“.error=无法传输工件”。删除这些文件将迫使 Maven 再次尝试获取依赖项。
小智 5
mvn clean install -e -U -Dmaven.test.skip=true
Run Code Online (Sandbox Code Playgroud)
-e
详细异常情况-U
强制更新-DskipTests
不执行测试用例,而是编译测试用例类,在target/testclass下生成对应的类文件。-Dmaven.test.skip=true
,不要执行测试用例或编译测试用例类。使用maven。测试。Skip 不仅跳过运行单元测试,还跳过编译测试代码。一个小建议。如果使用IntelliJ Idea编译器,建议清理缓存
归档时间: |
|
查看次数: |
789467 次 |
最近记录: |