按照书上的示例代码来实现但是,添加了验证但是没有生效。
Spring提供了校验Api是使用但是没有提供实现,所以需要自己导入实现包。
所以导入实现包:
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-validator</artifactId>
<version>5.1.1.Final</version>
</dependency>
<!-- https://mvnrepository.com/artifact/javax.validation/validation-api -->
<dependency>
<groupId>javax.validation</groupId>
<artifactId>validation-api</artifactId>
<version>1.1.0.Final</version>
</dependency>
但是还是没有解决问题,程序正常运行,校验不生效。
想到之前用Maven来导入一些jar报的时候,还是会提示找不到(不知道是不是因为使用的Xampp自带的tomcat的原因)。之前的解决办法就是把Jar包丢到Tomcat的lib文件夹下。于是就把上面Maven下载下来的两个jar包丢了进去,果然发生了一些变化,这次出现了报错,程序不能正常运行。报错:
Hibernate Validator java.lang.NoClassDefFoundError: Could not initialize class org.hibernate.validator.internal.engine.ConfigurationImpl
然后查找解决办法,在Stack Overflow上找到了解决办法,缺少org.jboss.logging和com.fasterxml classmate包,所以在Maven中加入
<dependency>
<groupId>org.jboss.logging</groupId>
<artifactId>jboss-logging</artifactId>
<version>3.3.2.Final</version>
</dependency>
<dependency>
<groupId>com.fasterxml</groupId>
<artifactId>classmate</artifactId>
<version>1.3.4</version>
</dependency>
但是还是没有解决问题,使用老办法,把这两个Jar包丢到Tomcat的lib文件夹下,问题解决。
最近遇到好多Maven导入的包在运行的时候不生效的问题,就是不报错,但是运行的时候nodefClass错误。找到解决办法:
IDEA maven项目部署到tomcat的jar包找不到问题
在尝试按照书上示例使用Spring的@Valid进行数据校验时,发现校验并未生效。问题源于缺少Hibernate Validator的实现包,通过Maven导入相关依赖后,仍无法正常工作。进一步排查发现,可能由于Tomcat的类加载问题导致NoClassDefFoundError。在Stack Overflow上找到解决方案,需要引入缺失的validation-api和hibernate-validator依赖,但问题仍未解决。最终,将这些jar包直接放入Tomcat的lib目录下,成功解决了校验不生效的问题。此外,还分享了解决Maven导入jar包在运行时找不到类的通用方法。
1万+

被折叠的 条评论
为什么被折叠?



