java.lang.NoSuchMethodError->org.apache.commons.lang3.StringUtils.isNoneEmpty

Caused by: java.lang.NoSuchMethodError: org.apache.commons.lang3.StringUtils.isNoneEmpty([Ljava/lang/CharSequence;)Z
        at org.activiti.editor.language.json.converter.BpmnJsonConverter.convertToJson(BpmnJsonConverter.java:242)
        at org.activiti.editor.ui.ConvertProcessDefinitionPopupWindow$2.buttonClick(ConvertProcessDefinitionPopupWindow.java:141)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at com.vaadin.event.ListenerMethod.receiveEvent(ListenerMethod.java:510)
        ... 36 more

 

 

报这个错的的意思是这个StringUtils  这类没有这个方法isNoneEmpty。

原因的你的jar包版本不对,或者太低导致的。

这个是简单Web项目的找的方法,只要下载更高版本的向下兼容就可以了,如果是maven项目的话直接在POM.XML文件更换版本就可以了

<think>好的,用户想知道如何验证Maven项目中maven-shade-plugin插件的配置是否正确。首先,我需要回忆一下maven-shade-plugin的作用和常见配置。这个插件主要用于打包可执行的JAR,包含所有依赖项,并且可以处理类重定位等。 用户可能已经按照文档配置了插件,但不确定是否正确。验证配置的方法通常包括几个步骤:检查构建输出、查看生成的JAR内容、执行JAR文件测试功能,以及检查类重定位是否生效(如果配置了的话)。 首先,运行mvn clean package命令构建项目,观察控制台输出是否有错误。如果有错误,比如插件配置错误或依赖问题,这里会显示。然后,生成的JAR文件应该在target目录下,用jar tf命令查看内容,确认依赖包是否被打包进去。还要检查主类是否正确设置,MANIFEST.MF文件是否包含Main-Class信息。 接下来,用户可能需要运行JAR文件,看看是否能正常启动,功能是否正常。如果有重定位配置,比如修改了某些类的包名,需要检查这些类是否被正确移动,避免冲突。此外,检查生成的pom.xml中插件的配置是否正确,比如版本、executions、重定位规则等。 用户可能遇到的问题包括依赖缺失、主类未指定、重命名错误等。需要逐一排查这些点。比如,如果JAR运行时报不到主类,可能是manifest配置有误。或者依赖项没被打包进去,导致类不到。使用工具分析JAR结构会帮助发现问题。 最后,建议用户参考官方文档和示例,确保配置符合最新标准。同时,单元测试和集成测试也能帮助验证插件配置后的应用行为是否符合预期。</think>要验证Maven项目中$maven\text{-}shade\text{-}plugin$插件的配置是否正确,可通过以下步骤实现: ### 一、验证基础配置 1. **检查构建输出** 执行命令: ```bash mvn clean package ``` 观察控制台输出,若出现以下信息则说明插件已激活: ```text [INFO] --- maven-shade-plugin:3.5.0:shade (default) @ project-name --- [INFO] Including dependencies... ``` 若出现$[ERROR]$提示依赖冲突或配置语法错误,需检查$pom.xml$中插件的$<configuration>$节点[^2] 2. **检查生成的JAR文件** 在$target$目录查看生成的*-shaded.jar文件,使用命令分析内容: ```bash jar tf target/project-name-shaded.jar ``` 确认包含: - 项目自身编译类文件(如$com/example/Main.class$) - 依赖库(如$org/apache/commons/lang3/StringUtils.class$) ### 二、验证高级功能 1. **主类配置验证** 若配置了主类: ```xml <configuration> <transformers> <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer"> <mainClass>com.example.Main</mainClass> </transformer> </transformers> </configuration> ``` 解压JAR检查$META-INF/MANIFEST.MF$是否包含: ```text Main-Class: com.example.Main ``` 2. **类重定位验证** 若配置了类重命名: ```xml <relocations> <relocation> <pattern>org.apache.commons</pattern> <shadedPattern>shaded.org.apache.commons</shadedPattern> </relocation> </relocations> ``` 使用反编译工具检查$shaded.org.apache.commons$路径下是否存在重定位的类文件 ### 三、功能完整性测试 1. **执行JAR验证依赖** ```bash java -jar target/project-name-shaded.jar ``` 若出现$NoClassDefFoundError$或$NoSuchMethodError$,说明依赖未正确打包 2. **依赖冲突检测** 通过$mvn dependency:tree$检查原始依赖树,对比shaded JAR中的内容,确保没有遗漏关键依赖 ### 四、配置对比工具 使用Maven Help插件验证实际生效的配置: ```bash mvn help:effective-pom -Doutput=effective-pom.xml ``` 在生成的$effective-pom.xml$中搜索$maven-shade-plugin$,确认最终生效的配置与预期一致
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值