Java pom中依赖关系的两种不同版本
我的pom.xml中有以下依赖项:Java pom中依赖关系的两种不同版本,java,maven,struts,apache-commons,Java,Maven,Struts,Apache Commons,我的pom.xml中有以下依赖项: <dependencyManagement> <dependencies> <dependency> <groupId>commons-validator</groupId> <artifactId>commons-validator</artifactId>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>commons-validator</groupId>
<artifactId>commons-validator</artifactId>
<version>1.1.3</version>
</dependency>
<dependency>
<groupId>struts</groupId>
<artifactId>struts</artifactId>
<version>1.1</version>
</dependency>
</dependencies>
</dependencyManagement>
在最新版本的commons validator类ValidatorResourcesInitializer中根本没有
最好知道是否可以在不更改struts版本的情况下修复此问题。
您能为验证域和IP地址提供任何替代库吗?我发现guava validator com.google.common.net.InternetDomainName基于更新版本的RFC-3490。您可能还需要升级struts,或者使用commons validator版本
1.1.4
(它是struts 1.1中使用的)查看pom文件:struts 1.1已经有8年的历史了。你不能指望最新的库可以使用它。呃,我们有100多个struts页面。你几乎不可能尝试使用依赖项的重命名来包含commons validator的两个版本。有一个插件,但我没有尝试过:classValidateOrresourceInitializer
已被删除并从commons validator中删除,因此您可以继续使用old verson或升级validator和Struts您正在学习软件维护的痛苦;遗留软件使用遗留技术,您不能在99%的情况下仅运行升级脚本。我唯一能提供的建议是o尝试从较新版本的库中提取您想要使用的类,并将其添加到您自己应用程序的代码库中;如果您保持许可标头的灵活性,这应该不会有问题。我不是说这很容易,因为该类可能会使用其他几个类。
java.lang.NoClassDefFoundError: org/apache/commons/validator/ValidatorResourcesInitializer