Intenté implementar un proyecto Spring MVC en WebLogic 12c, pero este error me golpeó.

[HTTP: 101380] Hay más de un fragmento web con el mismo nombre: "spring_web".

Este es mi 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>

Y este es mi 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>

Cualquier ayuda será apreciada.

2
Chi Yung Pang 14 sep. 2018 a las 04:34

4 respuestas

La mejor respuesta

Descomprima el .war generado por maven, y compárelo con el que genera Eclipse. Por lo general, debe decirle a Maven que excluya los paquetes de ciertos artefactos; de lo contrario, estos se empaquetarán dos veces (eso es casi lo que dice el error: que el implementador ya encontró un componente con un nombre determinado, y no tiene sentido hacerlo dos veces )

Nota: La solución anterior es una solución posible si está construyendo el proyecto con maven.

2
Alien 14 sep. 2018 a las 04:58

Tuve este problema y descubrí que surgía de archivos JAR duplicados. Tenía diferentes versiones de los mismos JAR en el archivo WAR.

La ejecución de mvn clean solucionó esto.

3
Cody Gray 3 may. 2019 a las 18:18

Vea nuestra solución en Se encontró más de un fragmento con el nombre [spring_web] / No se puede encontrar la declaración del elemento 'beans' / servidor sin acceso a Internet que implicaba una combinación de eliminar versiones de muelles defectuosos en etiquetas xsd en archivos de contexto y agregar ordenamiento absoluto al web.xml. Resulta que las dependencias de resorte duplicadas en realidad no necesitan existir, solo se puede hacer referencia a ellas en contexto para causar problemas.

0
DavesPlanet 2 ago. 2019 a las 20:20

Tuve el mismo problema con spring-boot cuando cambié la versión de 2.1.6 a 2.0.6. Ejecutar un mvn clean y compilar la aplicación nuevamente resolvió mi problema.

0
MRTJ 15 jul. 2019 a las 08:02