Java 当Action类位于单独的jar文件中时,Struts 2验证失败

Java 当Action类位于单独的jar文件中时,Struts 2验证失败,java,jakarta-ee,maven,struts,Java,Jakarta Ee,Maven,Struts,我有一个maven多模块项目 project-services (service layer..above the dao layer) project-controller (My Action classes sits in this module) project-web (all jsps, view artificats) 问题是我在带有DefaultProjectsAction.java的包以及属性文件中有一个有效的DefaultProjectsAction-validation.

我有一个maven多模块项目

project-services (service layer..above the dao layer)
project-controller (My Action classes sits in this module)
project-web (all jsps, view artificats)
问题是我在带有DefaultProjectsAction.java的包以及属性文件中有一个有效的DefaultProjectsAction-validation.xml


部署war文件时,所有这些模块都将位于/WEB-INF/lib中。我在struts.xml中使用默认包。所有文件都已正确设置。正确检查文件名上的拼写错误。如果验证xml文件位于一个单独的jar中,我的struts验证是否有效。我在某个地方读到他们说应该在WEB-INF/classes/中。这就是我的struts表单无法验证的原因吗?

好的,我开始研究这个问题已经整整48小时了,女士们先生们,解决方案已经找到了

将struts 2操作类放在一个单独的模块上,验证设置必须像这样进行

project-controller (will have action classes for Struts 2 in this case)
 - com.pack.UserAction.java
解决方案是在ProjectWeb模块中创建一个源文件夹src/main/resources/com/pack(Maven项目),并将UserAction-validation.xml放在其中。像这样

project-web (views, jsps, properties files and set-up files)
 - src/main/resources/com/pack/UserAction-validation.xml 

文件将被复制到/WEB-INF/classes/com/pack(action类包应形成路径),在构建项目时,应在类路径上搜索验证文件,尽管我从未尝试过。如果您创建了一个小的github项目来重新创建问题,我会看一看。将操作与web模块分离似乎有点奇怪,除非您真正在web之外使用控制器。谢谢您的回复。动作类之所以单独存在,是因为我使用的是现有的视图构件,而控制器(在Struts 2中)被告知将它们放在自己的模块中。为了解决这个问题已经两天了。医生们说的不多。但是在-validation.xml中,它们肯定与操作位于同一个包中,它们都在类路径中。我正在考虑使用全局验证,我将直接将其放在/WEB-INF/classes中/