[HTTP:101380]有多个同名的 Web 片段:“spring_web”

问题描述 投票:0回答:5

我试图将 Spring MVC 项目部署到 WebLogic 12c,但遇到了这个错误。

[HTTP:101380]有多个同名的 Web 片段: “spring_web”。

这是我的 web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">

<display-name>spring-mvc-demo</display-name>

<!-- Spring MVC Configs -->

<!-- Step 1: Configure Spring MVC Dispatcher Servlet -->
<servlet>
    <servlet-name>dispatcher</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <init-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>/WEB-INF/spring-mvc-demo-servlet.xml</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
</servlet>

<!-- Step 2: Set up URL mapping for Spring MVC Dispatcher Servlet -->
<servlet-mapping>
    <servlet-name>dispatcher</servlet-name>
    <url-pattern>/</url-pattern>
</servlet-mapping>

这是我的 weblogic.xml

<?xml version="1.0" encoding="UTF-8"?>
<wls:weblogic-web-app xmlns:wls="http://xmlns.oracle.com/weblogic/weblogic-web-app" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd http://xmlns.oracle.com/weblogic/weblogic-web-app http://xmlns.oracle.com/weblogic/weblogic-web-app/1.7/weblogic-web-app.xsd">
    <wls:weblogic-version>12.1.3</wls:weblogic-version>
    <wls:context-root>spring-mvc-demo</wls:context-root>
</wls:weblogic-web-app>

任何帮助将不胜感激。

eclipse spring-mvc weblogic12c
5个回答
3
投票

解压maven生成的.war,并将其与Eclipse生成的进行比较。通常你必须告诉maven从某些工件中排除包,否则这些将被打包两次(这几乎就是错误的意思——部署者已经遇到了具有特定名称的组件,并且这样做两次是没有意义的)

注意:如果您使用 maven 构建项目,上面给出的解决方案是一个可能的解决方案。


3
投票

我遇到了这个问题,发现它是由重复的 JAR 文件引起的。我的 WAR 文件中有相同 JAR 的不同版本。

运行

mvn clean
解决了这个问题。


0
投票

当我将版本从 2.1.6 更改为 2.0.6 时,我遇到了与 spring-boot 相同的问题。 运行 mvn clean 并再次构建应用程序解决了我的问题。


0
投票

请参阅我们的解决方案发现多个名为 [spring_web] 的片段/无法找到元素“beans”/服务器的声明,无需访问互联网,其中涉及删除上下文文件中的 xsd 标记中的错误 spring 版本和将绝对排序添加到 web.xml。事实证明,重复的 spring 依赖项实际上并不需要存在,它们只需在上下文中引用即可导致问题。


0
投票

Weblogic 正在读取位于 spring-web jar 内的下一个 META-INF/web-fragment.xml,并且它发现它不止一次。

检查是否有重复的 spring-web jar,并删除那些重复的。

© www.soinside.com 2019 - 2024. All rights reserved.