JHipster项目Maven构建失败:modernizer插件缺失依赖类
解决JHipster 7.9.3项目执行
mvn clean install时modernizer插件的类缺失问题 我创建了JHipster 7.9.3版本的项目,仅新增了一个用于API的MapStruct mapper类后,执行mvn clean install命令失败,报错日志如下:
[[1;34mINFO[m] [1;31mBUILD FAILURE[m [[1;34mINFO[m] [1m------------------------------------------------------------------------[m [[1;34mINFO[m] Total time: 02:20 min [[1;34mINFO[m] Finished at: 2023-07-19T20:28:55+05:30 [[1;34mINFO[m] [1m------------------------------------------------------------------------[m [[1;31mERROR[m] Failed to execute goal [32morg.gaul:modernizer-maven-plugin:2.4.0:modernizer[m [1m(modernizer)[m on project [36mbuyyinn[m: [1;31mExecution modernizer of goal org.gaul:modernizer-maven-plugin:2.4.0:modernizer failed: A required class was missing while executing org.gaul:modernizer-maven-plugin:2.4.0:modernizer: org/codehaus/plexus/util/StringUtils[m [[1;31mERROR[m] [1;31m-----------------------------------------------------[m [[1;31mERROR[m] [1;31mrealm = plugin>org.gaul:modernizer-maven-plugin:2.4.0[m [[1;31mERROR[m] [1;31mstrategy = org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy[m [[1;31mERROR[m] [1;31murls[0] = file:/C:/Users/sanal/.m2/repository/org/gaul/modernizer-maven-plugin/2.4.0/modernizer-maven-plugin-2.4.0.jar[m [[1;31mERROR[m] [1;31murls[1] = file:/C:/Users/sanal/.m2/repository/backport-util-concurrent/backport-util-concurrent/3.1/backport-util-concurrent-3.1.jar[m [[1;31mERROR[m] [1;31murls[2] = file:/C:/Users/sanal/.m2/repository/org/codehaus/plexus/plexus-interpolation/1.11/plexus-interpolation-1.11.jar[m [[1;31mERROR[m] [1;31murls[3] = file:/C:/Users/sanal/.m2/repository/junit/junit/3.8.1/junit-3.8.1.jar[m [[1;31mERROR[m] [1;31murls[4] = file:/C:/Users/sanal/.m2/repository/org/ow2/asm/asm/9.2/asm-9.2.jar[m [[1;31mERROR[m] [1;31murls[5] = file:/C:/Users/sanal/.m2/repository/org/ow2/asm/asm-commons/9.2/asm-commons-9.2.jar[m [[1;31mERROR[m] [1;31murls[6] = file:/C:/Users/sanal/.m2/repository/org/ow2/asm/asm-tree/9.2/asm-tree-9.2.jar[m [[1;31mERROR[m] [1;31murls[7] = file:/C:/Users/sanal/.m2/repository/org/ow2/asm/asm-analysis/9.2/asm-analysis-9.2.jar[m [[1;31mERROR[m] [1;31murls[8] = file:/C:/Users/sanal/.m2/repository/org/gaul/modernizer-maven-annotations/2.4.0/modernizer-maven-annotations-2.4.0.jar[m [[1;31mERROR[m] [1;31mNumber of foreign imports: 1[m [[1;31mERROR[m] [1;31mimport: Entry[import from realm ClassRealm[maven.api, parent: null]][m [[1;31mERROR[m] [1;31m[m [[1;31mERROR[m] [1;31m-----------------------------------------------------[m [[1;31mERROR[m] [1;31m[m: org.codehaus.plexus.util.StringUtils [[1;31mERROR[m] -> [1m[Help 1]
解决方案
方案1:升级modernizer-maven-plugin版本
旧版本的modernizer插件存在依赖缺失问题,将插件版本从2.4.0升级到兼容的新版本(如2.8.0),修改项目pom.xml中的插件配置:
<plugin> <groupId>org.gaul</groupId> <artifactId>modernizer-maven-plugin</artifactId> <version>2.8.0</version> <!-- 保留原有其他配置 --> </plugin>
方案2:为插件添加缺失的依赖
若不想升级插件,可在插件配置中显式引入plexus-utils依赖,确保类能被加载:
<plugin> <groupId>org.gaul</groupId> <artifactId>modernizer-maven-plugin</artifactId> <version>2.4.0</version> <dependencies> <dependency> <groupId>org.codehaus.plexus</groupId> <artifactId>plexus-utils</artifactId> <version>3.4.2</version> </dependency> </dependencies> <!-- 保留原有其他配置 --> </plugin>
方案3:临时跳过modernizer插件执行
如果仅需临时完成项目构建,可在执行Maven命令时添加参数跳过该插件:
mvn clean install -Dmodernizer.skip=true
问题原因
报错核心是modernizer-maven-plugin:2.4.0的依赖集合中未包含org.codehaus.plexus.util.StringUtils所在的plexus-utils包,或与当前Maven环境的组件版本冲突,导致类加载失败。
内容的提问来源于stack exchange,提问作者Sanal M
相关产品推荐
相关产品推荐

