【Maven打包报错误】找不到或无法加载主类以及Could not resolve dependencies,Failed to collect dependencies的解决办法

本文讲述了在Maven项目中遇到Controller服务不可见和HTTP调用失败的问题,解决过程包括检查配置、清理Maven缓存、重新安装parent模块,以及清除IDEA缓存。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

核心:file=>invalidate caches + 重新clean和install一下parent(maven父模块)模块

最开始碰到的问题是更新了代码但是Swagger中找不到Controller服务,http调用也not found。其实这时候运行的是缓存,然后clean了报找不到主类

正常来说是存在这个Application类的:

1. 找不到主类先检查配置是否正确

2. 重新Maven clean 和 install

进入相应模块目录下面执行:mvn clean install -e

提示信息如下:

[INFO] Error stacktraces are turned on.
[WARNING]
[WARNING] Some problems were encountered while building the effective settings
[WARNING] Unrecognised tag: 'mirror' (position: START_TAG seen ...</localRepository>\r\n    <mirror>... @138:13)  @ D:\ 应用\apache-maven-3.6.3-bin\apache-maven-3.6.3\bin\..\conf\settings.xml, line 138, column 13
[WARNING]
[INFO] Scanning for projects...
[INFO]
[INFO] --------------------< com.zeroone.star:crm-sample >---------------------
[INFO] Building crm-sample 1.0.0-SNAPSHOT
[INFO] --------------------------------[ jar ]---------------------------------
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  1.817 s
[INFO] Finished at: 2023-10-21T21:57:49+08:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal on project crm-sample: Could not resolve dependencies for project com.zeroone.star:crm-sample:jar:1.0.0-SNAPSHOT: Failed to collect dependencies at com.zeroone.star:crm-common:jar:1.0.0-SNAPSHOT: Failed to read artifact descriptor for com.zeroone.star:crm-common:jar:1.0.0-SNAPSHOT: Failure to find com.zeroone.star:crm-parent:pom:${revision} in https://maven.aliyun.com/repository/public was cached in the local repository, resolution will not be reattempted until the update interval of aliyun has elapsed or updates are forced -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal on project crm-sample: Could not resolve dependencies for project com.zeroone.star:crm-sample:jar:1.0.0-SNAPSHOT: Failed to collect dependencies at com.zeroone.star:crm-common:jar:1.0.0-SNAPSHOT

3.观察报错信息可知Failed to collect dependencies at com.zeroone.star:crm-common:jar:1.0.0-SNAPSHOT:重新打包一下common

还是报错提示fastdfs-spring-boot-starter有问题

4.重新clean和install一下parent

如果还是不行清掉IDEA缓存重新打开再进行以上步骤

PS:碰到Controller都删除了却还能运行服务的情况估计就是缓存作祟,以上办法已解决

<think>我们正在处理一个Maven依赖解析失败的问题,具体是关于`e-iceblue:spire.xls.free:jar:5.1.0`的依赖无法下载。根据用户提供的引用信息,我们可以尝试以下步骤来解决这个问题。 ###问题分析Maven在构建项目时,如果无法解析某个依赖,通常有以下原因:1.**依赖在配置的仓库中不存在**:Maven默认使用中央仓库(central),但有些依赖可能不在中央仓库,需要添加其他仓库。2.**网络问题**:无法访问仓库,者仓库响应慢。 3. **仓库配置问题**:仓库的URL不正确,者需要认证信息。 4. **依赖的版本不存在**:指定的版本在仓库中不存在。 根据用户提到的依赖`e-iceblue:spire.xls.free:jar:5.1.0`,我们可以通过搜索公共仓库来确认该依赖是否存在。通常,e-iceblue的库可能不在Maven中央仓库,因此需要添加第三方仓库。###解决方案####步骤1:检查依赖坐标首先,确认依赖坐标是否正确。在`pom.xml`中,依赖声明应该似于: ```xml<dependency><groupId>e-iceblue</groupId><artifactId>spire.xls.free</artifactId><version>5.1.0</version> </dependency>``` ####步骤2:添加仓库由于该依赖可能不在Maven中央仓库,我们需要添加e-iceblue的仓库。根据e-iceblue的官方文档,通常需要添加他们的仓库。例如,在`pom.xml`中添加以下仓库配置: ```xml<repositories><repository><id>e-iceblue</id><url>https://repo.e-iceblue.com/nexus/content/groups/public/</url></repository></repositories>``` 如果不知道确切的仓库URL,可以查阅e-iceblue的官方文档联系他们的支持。####步骤3:使用阿里云仓库加速下载在国内,访问Maven中央仓库可能较慢,我们可以使用阿里云镜像仓库。在Maven的`settings.xml`文件中配置镜像:```xml<mirror><id>aliyunmaven</id><mirrorOf>central</mirrorOf><name>阿里云公共仓库</name><url>https://maven.aliyun.com/repository/central</url></mirror>``` 注意:如果依赖在e-iceblue的私有仓库中,镜像可能无法代理,所以需要同时配置私有仓库。 ####步骤4:强制更新依赖使用Maven命令强制更新依赖(添加`-U`参数): ```bashmvnclean install-U```者,为了更详细的日志,可以添加`-e`(显示错)和`-X`(显示详细调试信息): ```bashmvnclean install-e-U-X```####步骤5:检查依赖是否在仓库中存在手动访问仓库URL,查看依赖是否存在。例如,访问:``` https://repo.e-iceblue.com/nexus/content/groups/public/e-iceblue/spire.xls.free/5.1.0/ ```查看是否有对应的jar文件。####步骤6:如果依赖在中央仓库不存在,但其他仓库有如果依赖在中央仓库不存在,但其他公共仓库(如JCenter)有,可以添加JCenter仓库。在`pom.xml`中添加:```xml<repository><id>jcenter</id><url>https://jcenter.bintray.com/</url> </repository>``` 者使用阿里云的JCenter镜像:```xml<repository><id>aliyun-jcenter</id><url>https://maven.aliyun.com/repository/jcenter</url> </repository>``` ###其他可能的问题-**代理设置**:如果公司网络需要代理,确保在Maven的`settings.xml`中配置了代理。- **本地仓库损坏**:删除本地仓库中对应的依赖目录(例如`~/.m2/repository/e-iceblue`),然后重新构建。 ###总结针对`e-iceblue:spire.xls.free:jar:5.1.0`无法解析的问题,要步骤是添加正确的仓库配置,并确保网络可访问。如果问题仍然存在,请检查依赖坐标和版本是否正确,以及仓库是否确实提供了该依赖。 §§相关问题§§1.如何配置Maven使用阿里云镜像加速依赖下载?2.Maven依赖解析的优先级是怎样的? 3.如何排查Maven依赖冲突? 4.除了添加仓库,还有哪些方法解决依赖下载失败的问题?</think>### 解决Maven依赖解析失败问题(e-iceblue:spire.xls.free:jar:5.1.0) #### 问题分析 当Maven报错`Could not resolve dependencies`时,通常由以下原因导致: 1. **依赖不在中央仓库**:`e-iceblue`是第三方库,默认不在Maven Central 2. **仓库配置缺失**:未声明托管该库的仓库地址 3. **网络限制**:服务器环境可能无法访问公共仓库 4. **版本不存在**:特定版本在仓库中不可用 #### 解决方案 ##### 步骤1:添加正确的仓库配置 在`pom.xml``settings.xml`中添加e-iceblue的官方仓库(优先使用`pom.xml`): ```xml <!-- pom.xml 配置示例 --> <repositories> <repository> <id>e-iceblue-repo</id> <url>https://repo.e-iceblue.cn/repository/maven-public/</url> </repository> <!-- 同时添加阿里云镜像加速 --> <repository> <id>aliyun</id> <url>https://maven.aliyun.com/repository/public</url> </repository> </repositories> ``` ##### 步骤2:强制更新依赖(服务器环境) 在构建命令中添加参数强制更新: ```bash mvn clean install -U -e -DskipTests ``` 参数说明: - `-U`:强制更新快照依赖 - `-e`:显示详细错信息 - `-DskipTests`:跳过测试 ##### 步骤3:验证依赖是否存在 访问仓库URL直接检查依赖是否存在: ``` https://repo.e-iceblue.cn/repository/maven-public/e-iceblue/spire.xls.free/5.1.0/ ``` 若页面返回404,说明版本号可能错已被移除。 ##### 步骤4:检查依赖声明(确认GAV) 确保`pom.xml`中的依赖坐标完全正确: ```xml <dependency> <groupId>e-iceblue</groupId> <artifactId>spire.xls.free</artifactId> <version>5.1.0</version> <!-- 确认版本是否存在 --> </dependency> ``` #### 备选方案 如果官方仓库无法访问: 1. **下载JAR手动安装**: ```bash mvn install:install-file \ -Dfile=spire.xls.free-5.1.0.jar \ -DgroupId=e-iceblue \ -DartifactId=spire.xls.free \ -Dversion=5.1.0 \ -Dpackaging=jar ``` 2. **搭建私有仓库**:使用Nexus/Artifactory代理第三方库 #### 验证结果 执行依赖树命令检查是否解析成功: ```bash mvn dependency:tree -Dincludes=e-iceblue:spire.xls.free ``` 成功输出应包含: ``` [INFO] \- e-iceblue:spire.xls.free:jar:5.1.0:compile ``` > **注意**:企业服务器环境常因网络策略导致仓库访问失败,建议先在本地构建成功后再部署到服务器[^2]。若持续失败,可尝试配置代理联系运维开放仓库访问权限。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值