踩坑日记-Failure to transfer

在导入新项目并更换了maven-settings.xml后,遇到pom.xml报错,错误源于settings文件变更使项目找不到jar包。通过右键项目选择Maven Update来解决。
报错缘由

由于导入新的项目,之前依赖的maven-settings.xml文件被替换,后续替换回settings文件后,项目maven-clean、maven-install都没有问题,但是pom.xml文件会报如下错误:

Description Resource    Path    Location    Type
Failure to transfer com.oracle.oracle11g:oracle6:jar:RELEASE2 from http://119.23.132.137:18081/content/groups/public/ was cached in the local repository, resolution will not be reattempted until the update interval of 137nexus has elapsed or updates are forced. Original error: Could not transfer artifact com.oracle.oracle11g:oracle6:jar:RELEASE2 from/to nexus137 (http://119.23.132.137:18081/content/groups/public/): The operation was cancelled.

org.eclipse.aether.transfer.ArtifactTransferException: Failure to transfer com.oracle.oracle11g:oracle6:jar:RELEASE2 from http://119.23.132.137:18081/content/groups/public/ was cached in the local repository, resolution will not be reattempted until the update interval of 137nexus has elapsed or updates are forced. Original error: Could not transfer artifact com.oracle.oracle11g:oracle6:jar:RELEASE2 from/to nexus137 (http://119.23.132.137:18081/content/groups/public/): The operation was cancelled.
    at org.eclipse.aether.internal.impl.DefaultUpdateCheckManager.newException(DefaultUpdateCheckManager.java:238)
    at org.eclipse.aether.internal.impl.DefaultUpdateCheckManager.checkArtifact(DefaultUpdateCheckManager.java:206)
    at org.eclipse.aether.internal.impl.DefaultArtifactResolver.gatherDownloads(DefaultArtifactResolver.java:585)
    at org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads(DefaultArtifactResolver.java:503)
    at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:421)
    at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:246)
    at org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveDependencies(DefaultRepositorySystem.java:367)
    at org.apache.maven.project.DefaultProjectDependenciesResolver.resolve(DefaultProjectDependenciesResolver.java:205)
    at org.apache.maven.project.DefaultProjectBuilder.resolveDependencies(DefaultProjectBuilder.java:215)
    at org.apache.maven.project.DefaultProjectBuilder.build(DefaultProjectBuilder.java:188)
    at org.apache.maven.project.DefaultProjectBuilder.build(DefaultProjectBuilder.java:119)
    at org.eclipse.m2e.core.internal.embedder.MavenImpl.readMavenProject(MavenImpl.java:636)
    at org.eclipse.m2e.core.internal.project.registry.DefaultMavenDependencyResolver.resolveProjectDependencies(DefaultMavenDependencyResolver.java:63)
    at org.eclipse.m2e.core.internal.project.registry.ProjectRegistryManager.refreshPhase2(ProjectRegistryManager.java:529)
    at org.eclipse.m2e.core.internal.project.registry.ProjectRegistryManager$3.call(ProjectRegistryManager.java:491)
    at org.eclipse.m2e.core.internal.project.registry.ProjectRegistryManager$3.call(ProjectRegistryManager.java:1)
    at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:176)
    at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:151)
    at org.eclipse.m2e.core.internal.project.registry.ProjectRegistryManager.refresh(ProjectRegistryManager.java:495)
    at org.eclipse.m2e.core.internal.project.registry.ProjectRegistryManager.refresh(ProjectRegistryManager.java:350)
    at org.eclipse.m2e.core.internal.project.registry.ProjectRegistryManager.refresh(ProjectRegistryManager.java:297)
    at org.eclipse.m2e.core.internal.builder.MavenBuilder$BuildMethod.getProjectFacade(MavenBuilder.java:154)
    at org.eclipse.m2e.core.internal.builder.MavenBuilder$BuildMethod$1.call(MavenBuilder.java:89)
    at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:176)
    at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:151)
    at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:99)
    at org.eclipse.m2e.core.internal.builder.MavenBuilder$BuildMethod.execute(MavenBuilder.java:86)
    at org.eclipse.m2e.core.internal.builder.MavenBuilder.build(MavenBuilder.java:200)
    at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:734)
    at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
    at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:205)
    at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:245)
    at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:300)
    at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
    at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:303)
    at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:359)
    at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:382)
    at org.eclipse.core.internal.events.AutoBuildJob.doBuild(AutoBuildJob.java:144)
    at org.eclipse.core.internal.events.AutoBuildJob.run(AutoBuildJob.java:235)
    at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
    pom.xml /base_generator line 34 Maven Dependency Problem

出现这个问题的原因是settings文件的更换,导致项目找不到对应路径下的jar包文件,因此报错。

解决办法

选中项目,右键-maven-maven update即可。

在使用 Maven 进行项目构建时,如果出现 `Failed to transfer project during download` 错误,通常意味着 Maven 在尝试从远程仓库下载依赖项时遇到了问题。这类错误可能由多种原因引起,包括网络连接问题、代理配置不当、SSL/TLS 证书问题、本地仓库损坏或插件版本不兼容等。 ### 常见原因与解决方法 1. **网络连接问题** Maven 默认会从中央仓库(https://repo.maven.apache.org/maven2)下载依赖包。如果本地网络不稳定或无法访问该地址,会导致下载失败。可以尝试更换网络环境,或者使用国内镜像源(如阿里云)来替代官方仓库。 ```xml <!-- settings.xml 中添加阿里云镜像 --> <mirrors> <mirror> <id>aliyun</id> <name>Aliyun Maven</name> <url>https://maven.aliyun.com/repository/public</url> <mirrorOf>central</mirrorOf> </mirror> </mirrors> ``` 2. **代理设置问题** 如果处于公司内网或需要通过代理访问互联网,需在 `settings.xml` 文件中正确配置代理信息: ```xml <proxies> <proxy> <id>example-proxy</id> <active>true</active> <protocol>http</protocol> <host>proxy.example.com</host> <port>8080</port> <username>user</username> <password>pass</password> <nonProxyHosts>localhost|127.0.0.1</nonProxyHosts> </proxy> </proxies> ``` 3. **SSL/TLS 证书问题** 某些旧版本的 Java 环境可能无法支持现代 HTTPS 协议所需的加密算法,导致 SSLHandshakeError 或 `RSA premaster secret error` 等异常[^2]。建议升级 JDK 到最新版本(如 JDK 8u292 以上),并确保 JRE 安全策略文件已更新。 4. **本地仓库损坏** Maven 会在本地缓存依赖包,默认路径为用户目录下的 `.m2/repository` 文件夹。若某次下载中断或文件损坏,后续构建时会报错。可删除对应依赖目录后重新执行构建命令: ``` rm -rf ~/.m2/repository/org/apache/maven/plugins/maven-resources-plugin/2.4.3/ mvn clean install ``` 5. **插件版本不兼容或缺失** 若提示类似 `Execution default-testResources of goal org.apache.maven.plugins:maven-resources-plugin:2.4.3:testResources failed` 的错误[^1],说明当前使用的插件版本存在问题。可以尝试升级到更高版本,例如: ```xml <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-resources-plugin</artifactId> <version>3.2.1</version> </plugin> </plugins> </build> ``` 6. **手动下载并安装依赖** 如果某个依赖始终无法自动下载,可以尝试手动从 [Maven Central](https://search.maven.org/) 下载对应的 `.jar` 和 `.pom` 文件,并使用以下命令将其安装到本地仓库: ``` mvn install:install-file -Dfile=xxx.jar -DpomFile=xxx.pom ``` --- ###
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值