我正在尝试在Weblogic 12.2.1.0上运行的Java EE7应用程序中启动并运行Togglz控制台。
为了使用控制台,我添加了在togglz网页上所述的依赖项,但没有添加任何web.xml,因为我认为Weblogic将能够运行servlet。

但是,当我尝试部署应用程序时,出现以下错误:

[ERROR] Failed to execute goal com.oracle.weblogic:weblogic-maven-plugin:12.2.1-0-0:redeploy (wls-redeploy) on project foobar: weblogic.Deployer$DeployerException: weblogic.deploy.api.tools.deployer.DeployerException: Task 4 failed: [Deployer:149026]deploy application foobar on foobarcluster.
[ERROR] Target state: redeploy failed on Cluster foobarcluster
[ERROR] weblogic.descriptor.DescriptorException: VALIDATION PROBLEMS WERE FOUND
[ERROR] <path_to_basedomain>\base_domain\weblogic.utils.classloaders.GenericClassLoader@26f37eff finder: weblogic.utils.classloaders.CodeGenClassFinder@70f09e70 annotation: foobar@\WEB-INF\lib\togglz-console-2.4.0.Final.jar!\META-INF\web-fragment.xml:6:26:6:26: problem: cvc-datatype-valid.1.1: string value 'togglz-console' does not match pattern for java-identifierType in namespace http://java.sun.com/xml/ns/javaee


我还尝试将servlet映射和servlet包含在web.xml中,但这也无济于事。

更多调查显示,我们的应用程序的web.xml使用Servlet版本3.1,而togglz-console.jar中的web-fragment.xml使用3.0。看起来就像其他人遇到的名称空间冲突。
将尝试完全删除应用程序的web.xml,然后重试。

任何帮助将不胜感激。

最佳答案

看起来Weblogic的web-fragment.xml文件中的name元素有问题。我认为这是在Togglz 2.4.0中添加的,因此您可以尝试使用2.3.0。

另外,如果Weblogic允许禁用XML描述符验证,这将是解决此问题的一种方法。

关于java - 在Weblogic 12.2.1.0上运行的Java EE7应用程序中包含的togglz-console,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42580361/

10-12 01:41
查看更多