spirngboot项目.mvn/wrapper/maven-wrapper.properties‘ does not exist.

本文解决了一个关于Maven Wrapper配置的问题,具体表现为无法找到Wrapper属性文件。通过调整IDEA终端设置及更新Maven Wrapper,最终定位到.mvn/wrapper/maven-wrapper.properties文件缺失导致的问题,并给出了解决方案。

rm -rf ~ 命令后,项目出现一些问题,如下

执行命令:

./mvnw clean package -am -pl bistoury-dist -P$PROFILR -Dmaven.test.skip -Denforcer.skip=true

报异常:

================ starting to build bistoury agent ================
Exception in thread "main" java.lang.RuntimeException: Wrapper properties file '~/bistouryX/.mvn/wrapper/maven-wrapper.properties' does not exist.
        at org.apache.maven.wrapper.WrapperExecutor.forWrapperPropertiesFile(WrapperExecutor.java:54)
        at org.apache.maven.wrapper.MavenWrapperMain.main(MavenWrapperMain.java:60)
 

分析:

1、mvn --version 发现找不到命令,排查发现zsh中配置的MAVEN_HOME  没有了,重新配置

2、配置好后,在mac 终端执行mvn --version正常,在idea的终端依然找不到命令,故设置idea的终端:idea默认的zsh,之前改为 bash了,改回zsh后正常

 

3、确认maven 的配置没问题后,执行./mvnw clean package -am -pl bistoury-dist -P$PROFILR -Dmaven.test.skip -Denforcer.skip=true 依然报错

4、mvn -N io.takari:maven:wrapper 执行该命令后,会重新下载

 成功后,再次执行就好了

最终好奇项目根目录下.mvn/wrapper/maven-wrapper.properties文件中存了啥,打开后如下:

  1 distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.3/apache-maven-3.6.3-bin.zip                                                     
  2 wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar
 

"D:\JAVA JDK\bin\java.exe" -Dmaven.multiModuleProjectDirectory=D:\code\EPM\epmcloud-pdm-server -Djansi.passthrough=true -Dmaven.home=D:\maven\apache-maven-3.6.3 -Dclassworlds.conf=D:\maven\apache-maven-3.6.3\bin\m2.conf "-Dmaven.ext.class.path=D:\JAVAIDEA\JetBrains\IntelliJ IDEA Community Edition 2024.2.1\plugins\maven\lib\maven-event-listener.jar" "-javaagent:D:\JAVAIDEA\JetBrains\IntelliJ IDEA Community Edition 2024.2.1\lib\idea_rt.jar=62728:D:\JAVAIDEA\JetBrains\IntelliJ IDEA Community Edition 2024.2.1\bin" -Dfile.encoding=UTF-8 -Dsun.stdout.encoding=UTF-8 -Dsun.stderr.encoding=UTF-8 -classpath D:\maven\apache-maven-3.6.3\boot\plexus-classworlds-2.6.0.jar;D:\maven\apache-maven-3.6.3\boot\plexus-classworlds.license org.codehaus.classworlds.Launcher -Didea.version=2024.2.1 -s D:\maven\apache-maven-3.6.3\conf\settings-epm.xml -Dmaven.repo.local=D:\maven\maven-erdc install [INFO] Scanning for projects... [WARNING] [WARNING] Some problems were encountered while building the effective model for epm.cloud:epmcloud-pdm-starter:pom:3.1.2 [WARNING] 'dependencyManagement.dependencies.dependency.(groupId:artifactId:type:classifier)' must be unique: erd.cloud:erdcloud-mq-client:jar -> duplicate declaration of version ${erdcloud-sdk.version} @ epm.cloud:epmcloud-pdm-server:3.1.2, D:\code\EPM\epmcloud-pdm-server\pom.xml, line 273, column 25 [WARNING] [WARNING] Some problems were encountered while building the effective model for epm.cloud:epmcloud-pdm-server:pom:3.1.2 [WARNING] 'dependencyManagement.dependencies.dependency.(groupId:artifactId:type:classifier)' must be unique: erd.cloud:erdcloud-mq-client:jar -> duplicate declaration of version ${erdcloud-sdk.version} @ line 273, column 25 [WARNING] [WARNING] It is highly recommended to fix these problems because they threaten the stability of your build. [WARNING] [WARNING] For this reason, future Maven versions might no longer support building such malformed projects. [WARNING] [INFO] ------------------------------------------------------------------------ [INFO] Reactor Build Order: [INFO] [INFO] epmcloud-pdm-server [pom] [INFO] epmcloud-pdm-sdk [jar] [INFO] epmcloud-pdm-api [jar] [INFO] epmcloud-pdm-service [jar] [INFO] epmcloud-pdm-starter [pom] [INFO] epmcloud-pdm-app [jar] [INFO] epmcloud-pdm-plugin [pom] [INFO] epmcloud-pdm-sso [jar] [INFO] [INFO] -------------------< epm.cloud:epmcloud-pdm-server >-------------------- [INFO] Building epmcloud-pdm-server 3.1.2 [1/8] [INFO] --------------------------------[ pom ]--------------------------------- [INFO] ------------------------------------------------------------------------ [INFO] Reactor Summary for epmcloud-pdm-server 3.1.2: [INFO] [INFO] epmcloud-pdm-server ................................ FAILURE [ 1.281 s] [INFO] epmcloud-pdm-sdk ................................... SKIPPED [INFO] epmcloud-pdm-api ................................... SKIPPED [INFO] epmcloud-pdm-service ............................... SKIPPED [INFO] epmcloud-pdm-starter ............................... SKIPPED [INFO] epmcloud-pdm-app ................................... SKIPPED [INFO] epmcloud-pdm-plugin ................................ SKIPPED [INFO] epmcloud-pdm-sso ................................... SKIPPED [INFO] ------------------------------------------------------------------------ [INFO] BUILD FAILURE [INFO] ------------------------------------------------------------------------ [INFO] Total time: 1.642 s [INFO] Finished at: 2025-08-05T14:11:12+08:00 [INFO] ------------------------------------------------------------------------ [WARNING] The requested profile "nexus" could not be activated because it does not exist. [ERROR] Failed to execute goal on project epmcloud-pdm-server: Could not resolve dependencies for project epm.cloud:epmcloud-pdm-server:pom:3.1.2: Failed to collect dependencies at erd.cloud:erdcloud-mq-client:jar:3.2.4 -> erd.cloud:erdcloud-mq-rocketmq:jar:3.2.4-1 -> org.apache.rocketmq:rocketmq-spring-boot-starter:jar:2.3.1 -> org.apache.rocketmq:rocketmq-spring-boot:jar:2.3.1 -> org.apache.rocketmq:rocketmq-client:jar:5.3.0 -> org.apache.rocketmq:rocketmq-remoting:jar:5.3.0 -> org.apache.rocketmq:rocketmq-common:jar:5.3.0 -> io.grpc:grpc-netty-shaded:jar:1.53.0 -> io.grpc:grpc-core:jar:[1.53.0]: No versions available for io.grpc:grpc-core:jar:[1.53.0] within specified range -> [Help 1] [ERROR] [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. [ERROR] Re-run Maven using the -X switch to enable full debug logging. [ERROR] [ERROR] For more information about the errors and possible solutions, please read the following articles: [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/DependencyResolutionException
08-06
<think>嗯,用户现在遇到了Maven项目maven-wrapper.properties文件缺失的问题,需要解决。首先,我得回忆一下Maven Wrapper的作用和结构。Maven Wrapper允许在没有预先安装Maven的情况下运行项目,它通过mvnw(Unix)或mvnw.cmd(Windows)脚本以及相关的配置文件来实现。 用户之前的问题是关于修复JAR主清单属性缺失的错误,现在转向了Maven Wrapper的问题,可能是项目配置或构建流程中的另一个环节出了问题。需要确保用户正确生成Maven Wrapper文件,尤其是maven-wrapper.properties。 首先,用户可能没有正确初始化Maven Wrapper。通常,这需要运行mvn -N io.takari:maven:wrapper命令来生成必要的文件。如果这个文件缺失,可能是因为初始化步骤被跳过或者出错了。 接下来,检查目录结构是否正确。Maven Wrapper的文件应该位于.mvn/wrapper/目录下,包括maven-wrapper.jar、maven-wrapper.properties以及mvnwmvnw.cmd脚本。如果目录结构不对,用户可能需要手动创建这些目录和文件,或者重新生成。 另外,maven-wrapper.properties文件的内容也很重要,它指定了使用的Maven版本和下载URL。如果这个文件存在但内容不正确,也可能导致问题。例如,版本号过时或URL不可达,需要更新到有效的版本和镜像源。 用户可能还需要检查网络设置,尤其是如果他们在公司防火墙后面,可能需要配置代理或者使用国内的镜像源,比如阿里云的Maven镜像,来加速下载。这可以通过在settings.xml中配置镜像来实现。 此外,权限问题也可能导致文件无法生成或访问,特别是在Unix系统下,mvnw脚本需要执行权限。用户可能需要运行chmod +x mvnw来添加权限。 如果用户已经存在部分Wrapper文件但缺失maven-wrapper.properties,可能需要删除整个.mvn/wrapper/目录和mvnw脚本,然后重新初始化,确保所有文件都被正确生成。 最后,考虑用户的项目是否是聚合项目或多模块项目,这时候可能需要确保在根目录下生成Wrapper文件,而不是在子模块中。否则,子模块可能无法正确继承父项目的配置。 总结步骤应该是:验证是否初始化了Wrapper,检查目录结构,重新生成文件,验证配置内容,处理网络或权限问题,最后测试是否解决。同时,用户可能需要相关的问题,比如如何升级Maven版本或配置镜像,这些可以作为相关问题提供。</think>### 解决方案:修复Maven Wrapper的`maven-wrapper.properties`缺失问题 #### 1. **验证Maven Wrapper初始化状态** - **问题根源**:未正确初始化Maven Wrapper或文件被意外删除[^1]。 - 检查项目根目录是否包含以下文件/目录: ``` ├── .mvn/ │ └── wrapper/ │ ├── maven-wrapper.jar │ └── maven-wrapper.properties <-- 缺失的文件 ├── mvnw └── mvnw.cmd ``` #### 2. **重新生成Wrapper文件** - **通过Maven插件生成**(推荐): ```bash mvn -N io.takari:maven:wrapper ``` 此命令会自动生成`.mvn/wrapper`目录及所有必要文件(包括`maven-wrapper.properties`)。 - **手动创建文件**(仅限紧急情况): ```bash mkdir -p .mvn/wrapper cat <<EOF > .mvn/wrapper/maven-wrapper.properties distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.6/apache-maven-3.8.6-bin.zip wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar EOF ``` #### 3. **验证文件内容** 确保`.mvn/wrapper/maven-wrapper.properties`包含以下关键配置: ```properties # 标准配置示例 distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.6/apache-maven-3.8.6-bin.zip wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar ``` - **国内镜像加速**(可选): ```properties distributionUrl=https://maven.aliyun.com/repository/public/org/apache/maven/apache-maven/3.8.6/apache-maven-3.8.6-bin.zip ``` #### 4. **权限修复(仅限Unix系统)** ```bash chmod +x mvnw # 赋予执行权限 ``` #### 5. **清理并重建** ```bash rm -rf .mvn/wrapper/maven-wrapper-*.jar # 删除旧版本JAR ./mvnw clean package # 触发Wrapper重新下载 ``` --- ### 常见问题排查表 | 现象 | 解决方案 | |--------------------------|---------------------------------| | `distributionUrl`下载失败 | 检查网络代理或切换镜像源 | | `mvnw`脚本报权限错误 | 运行`chmod +x mvnw` | | 多模块项目配置失效 | 在父POM目录执行Wrapper生成命令 | --- ### 相关问题 1. **如何指定Maven Wrapper使用的Maven版本?** 修改`maven-wrapper.properties`中的`distributionUrl`字段,例如: ```properties distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/4.0.0-alpha-8/apache-maven-4.0.0-alpha-8-bin.zip ``` 2. **Maven Wrapper与全局安装的Maven冲突怎么办?** Wrapper优先级高于系统Maven,可通过`./mvnw`强制使用项目绑定的版本。 3. **如何避免将Wrapper文件提交到Git?** 在`.gitignore`中添加以下规则: ``` # Maven Wrapper .mvn/wrapper/maven-wrapper.jar ``` (注意:需保留`.mvn/wrapper/maven-wrapper.properties`和脚本文件) : Maven Wrapper官方文档 [^2]: Maven多模块项目配置实践
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值