mvn clean install 报错:Caused by: ClassNotFoundException: org.codehaus.plexus.util.StringUtil


 

本地编译 servicecomb-java-chassis 的2.8.x版本

  mvn clean install -Pdocker -Pit  -Pdemo-run-release

mvn clean install 报错:caused by: java.lang.ClassNotFoundException: org.codehaus.plexus.util.StringUtils at org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy.loadClass(SelfFirstStrategy.java:42) at org.codehaus.plexus.classworlds.realm.ClassRealm.unsynchronizedLoadClass(ClassRealm.java:225) at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:210) at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:205) ... 19 more

问题配置:

maven 3.9.9

IntelliJ IDEA 2024.3.5 

jdk 17

编译字节码1.8

修复配置:

将maven降到3.5.4就行,下载地址:Index of /dist/maven/maven-3

### 解决方案 对于在 Windows 下使用 IntelliJ IDEA 执行 `mvn clean install` 时遇到的编码 GBK 的不可映射字符错误,可以通过多种方法解决。 #### 方法一:调整文件编码设置 如果项目中有包含中文字符的文件,在 IDEA 中可针对这些特定文件手动转换编码方式。具体操作是从 UTF-8 转换为GBK,然后再转回 UTF-8[^1]: ```plaintext File -> File Encoding -> Convert to GBK, then again Convert to UTF-8. ``` 这种方法适用于临时解决问题的情况,但对于长期维护来说不够理想。 #### 方法二:修改 Maven 编译器插件配置 更推荐的做法是在项目的 pom.xml 文件中指定编译时所使用的字符集为 UTF-8。这样无论在哪种环境下运行 Maven 命令都能保持一致的行为[^3]: ```xml <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>2.3.1</version> <configuration> <source>1.6</source> <target>1.6</target> <encoding>utf8</encoding> </configuration> </plugin> </plugins> </build> ``` 此更改确保了整个构建过程都采用统一的编码标准,从而避免因环境差异引起的乱码问题。 #### 方法三:全局设定 IDEA 默认编码 为了防止未来再次发生类似的编码冲突,还可以考虑将 IDE 的默认编码设为 UTF-8: ```plaintext Settings/Preferences | Editor | File Encodings 设置 Global encoding 和 Project encoding 都为 UTF-8。 ``` 这一步骤有助于从根本上杜绝由于不同文件间存在不同的编码而导致的问题。 通过上述三种途径之一或组合应用,应该能够有效消除执行 `mvn clean install` 过程中存在的编码兼容性障碍。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值