0

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

任何帮助将不胜感激。

4

1 回答 1

1

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

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

于 2017-03-03T14:24:38.767 回答