togglz-console 包含在 Weblogic 12.2.1.0 上的 Java EE7 应用程序 运行 中

togglz-console included in Java EE7 application running on Weblogic 12.2.1.0

我正在尝试在 Weblogic 12.2.1.0 上的 Java EE7 应用程序 运行ning 中启动 togglz 控制台并 运行ning。 为了使用控制台,我添加了 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

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

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

如有任何帮助,我们将不胜感激。

Weblogic 似乎对 web-fragment.xml 文件中的名称元素有一些问题。我认为这是在 Togglz 2.4.0 中添加的,因此您可以尝试改用 2.3.0。

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