ERROR

[ERROR] Spring 5.3.XX / 404 Not Found Return

girin_dev 2022. 4. 18. 00:10
728x90
반응형

 

신규 프로젝트에서 

 

스프링 4.2.3 버전을 쓰다가 5.3.13 버전으로 버전업을 했다. 

 

 

일단 첫째로 라이브러리 호환 안되는 경우 체크 

 

+ 저번에 보아두었던 RestTemplate 말고 WebClient 메서드를 알아 보려고 했는데 테스트용으로 가볍게 

 

API를 호출했던 결과 404만 뱉어냈다. 

 

swagger-ui.html 관련 페이지를 호출하는 경우도 모두 마찬가지였다.

 

 

 

 

당시의 로컬 호스트 로그 기록 :

 

실행시 시작된 인터페이스는 200으로 뜸.

 

 

 

더불어 filter 단에서 찍히는 클라이언트 요청의 파라미터도 

 

 

컨트롤러 단에서는 찾아볼수도 없는 버그도 있었음.

 

 

다른 사람들은 ? 

 

 

 

https://stackoverflow.com/questions/70691545/http-status-404-not-found-java-spring-mvc

 

HTTP Status 404 - not found - Java Spring MVC

I'm trying to run my first Spring MVC Program on eclipse using XML configuration, I have no error markings on my directory but I get this response when I run the program. I also tried with Spring j...

stackoverflow.com

해결한 질문이 아님.

 

 

404 Error 와 콘솔 및 서버에 정확한 에러 로그가 있지 않다면 해결책을 찾기가 쉽지 않다. 

 

 

 

 

🥐해결한 경우는 

 

이전 스프링 버전의 충돌, 라이브러리 버전 충돌을  의심했기 때문에 인텔리제이의 LIB / TARGET 경로 등을 전부 청소

 

하고 

 

특히 인텔리 제이의 타겟 패스 및 환경 설정을 다 날리고 처음부터 다시 ( 라이브러리 포함 ) 다운받는 작업을 헀다. 

 

 

 

 

 

같은 실수를 반복하지 않고 싶다. 정말 많은 시간을 허비했다. 

 

가벼운 Web.xml 및 기타 설정을 여기 기록한다. 

 

 

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://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_1.xsd"
		 version="3.1">

	<listener>
		<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
	</listener>
    
	<servlet>
		<servlet-name>appServlet</servlet-name>
		<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
		<init-param>
			<param-name>contextConfigLocation</param-name>
			<param-value>/WEB-INF/spring/appServlet/servlet-context.xml</param-value>
		</init-param>
		<load-on-startup>1</load-on-startup>
	</servlet>
	<servlet>
		<servlet-name>jersey</servlet-name>
		<servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
		<init-param>
			<param-name>jersey.config.server.provider.packages</param-name>
			<param-value>
				io.swagger.jaxrs.listing,
				com.nberserk.rest
			</param-value>
		</init-param>
		<load-on-startup>1</load-on-startup>
	</servlet>
	<servlet>
		<servlet-name>Jersey2Config</servlet-name>
		<servlet-class>io.swagger.jersey.config.JerseyJaxrsConfig</servlet-class>
		<init-param>
			<param-name>api.version</param-name>
			<param-value>1.0.0</param-value>
		</init-param>
		<init-param>
			<param-name>swagger.api.basepath</param-name>
			<param-value>http://localhost:8080/*****</param-value>
		</init-param>
		<load-on-startup>2</load-on-startup>
	</servlet>

	<servlet-mapping>
		<servlet-name>appServlet</servlet-name>
		<url-pattern>/</url-pattern>
	</servlet-mapping>

	<context-param>
		<param-name>contextConfigLocation</param-name>
		<param-value>classpath*:config/spring/context-*.xml</param-value>
	</context-param>

	<filter>
		<filter-name>RRDumpFilter</filter-name>
		<filter-class>****.****.****.****.RqstChkFilter</filter-class>
	</filter>

	<filter-mapping>
		<filter-name>RqstChkFilter</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>
	<filter>
		<filter-name>characterEncodingFilter</filter-name>
		<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
		<init-param>
			<param-name>encoding</param-name>
			<param-value>utf-8</param-value>
		</init-param>
		<init-param>
			<param-name>forceEncoding</param-name>
			<param-value>true</param-value>
		</init-param>
	</filter>
	<filter-mapping>
		<filter-name>characterEncodingFilter</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>

	<session-config>
		<session-timeout>5</session-timeout>
	</session-config>

</web-app>

 

 

 

sevlet-context.xml

servlet-context.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans:beans xmlns="http://www.springframework.org/schema/mvc"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns:beans="http://www.springframework.org/schema/beans"
	xmlns:task="http://www.springframework.org/schema/task"
	xmlns:context="http://www.springframework.org/schema/context"
	xmlns:aop="http://www.springframework.org/schema/aop"
	xmlns:tx="http://www.springframework.org/schema/tx"
	xmlns:util="http://www.springframework.org/schema/util"
	xmlns:jee="http://www.springframework.org/schema/jee"
	xsi:schemaLocation="http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd
		http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task-3.1.xsd
		http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-4.2.xsd
		http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
		http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd
		http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.2.xsd
		http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.2.xsd
		http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.0.xsd">

    <tx:advice id="txAdvice" transaction-manager="txManager">
        <tx:attributes>
            <tx:method name="*"/>
        </tx:attributes>
    </tx:advice>


    <beans:bean id="txManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
        <beans:property name="dataSource" ref="dataSource" />
    </beans:bean>
    
    <tx:annotation-driven transaction-manager="txManager"/>
	
    <annotation-driven />
    
    <resources mapping="/resources/**" location="/resources/" />
    
    <beans:bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <beans:property name="prefix" value="/WEB-INF/views/" />
        <beans:property name="suffix" value=".jsp" />
    </beans:bean>
    
    <beans:bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">
        <beans:property name="messageConverters">
            <beans:list>
                <beans:ref bean="jsonMessageConverter" />
            </beans:list>
        </beans:property>
    </beans:bean>
    
    <beans:bean id="jsonMessageConverter" class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
    </beans:bean>
    
    <beans:bean class="org.springframework.web.servlet.view.BeanNameViewResolver">
        <beans:property name="order" value="1" />
    </beans:bean>
     
    <beans:bean class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver"> 
        <beans:property name="order" value="0"/> 
        <beans:property name="defaultErrorView" value="error"/> 
        <beans:property name="exceptionMappings"> 
            <beans:props> 
                <beans:prop key="RuntimeException">error</beans:prop> 
            </beans:props> 
        </beans:property>
    </beans:bean>

    <context:component-scan base-package="com.org.tester.controller" />
    
    <annotation-driven />
     
    <beans:bean id="swagger2Config" class="springfox.documentation.swagger2.configuration.Swagger2DocumentationConfiguration"></beans:bean>
    <default-servlet-handler />
    
    <resources location="classpath:/META-INF/resources/" mapping="swagger-ui.html"></resources>
    <resources location="classpath:/META-INF/resources/webjars/" mapping="/webjars/**"></resources>
    
    <beans:bean id="****service" class="com.org.tester.login.****service1"></beans:bean>
    <beans:bean id="****service2" class="com.org.tester.test.****service2"></beans:bean>

    <beans:bean id="jstlViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <beans:property name="order" value="3" />
        <beans:property name="viewClass" value="org.springframework.web.servlet.view.JstlView" />
        <beans:property name="prefix" value="/WEB-INF/views/" />
        <beans:property name="suffix" value=".jsp" />
    </beans:bean>

    <beans:bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
        <beans:property name="maxUploadSize" value="100000000" />
    </beans:bean>
    
    <beans:bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource">
        <beans:property name="basename" value="i18n/messages" />
        <beans:property name="useCodeAsDefaultMessage" value="true" />
    </beans:bean>
	
	<beans:bean id="restTemplate" class="org.springframework.web.client.RestTemplate">
		<beans:property name="requestFactory">
			<beans:bean class="org.springframework.http.client.SimpleClientHttpRequestFactory">
				<beans:property name="connectTimeout" value="5000" />
				<beans:property name="readTimeout" value="30000" />
			</beans:bean>
		</beans:property>
		<beans:property name="messageConverters">
			<beans:list>
				<beans:bean class="org.springframework.http.converter.FormHttpMessageConverter">
					<beans:property name="partConverters">
						<beans:list>
							<beans:bean class="org.springframework.http.converter.ByteArrayHttpMessageConverter"></beans:bean>
							<beans:bean class="org.springframework.http.converter.StringHttpMessageConverter">
								<beans:constructor-arg>
									<beans:bean class="java.nio.charset.Charset" factory-method="forName">
										<beans:constructor-arg value="UTF-8" />
									</beans:bean>
								</beans:constructor-arg>
								<beans:property name="writeAcceptCharset" value="false" />
							</beans:bean>
							<beans:bean class="org.springframework.http.converter.ResourceHttpMessageConverter"></beans:bean>
						</beans:list>
					</beans:property>
				</beans:bean>
				<beans:bean class="org.springframework.http.converter.StringHttpMessageConverter">
					<beans:constructor-arg>
						<beans:bean class="java.nio.charset.Charset" factory-method="forName">
							<beans:constructor-arg value="UTF-8" />
						</beans:bean>
					</beans:constructor-arg>
				</beans:bean>
			</beans:list>
		</beans:property>
	</beans:bean>
    
    <beans:bean id="factory" class="org.springframework.http.client.SimpleClientHttpRequestFactory"></beans:bean>

    <util:properties id="config" location="classpath:/config/config.properties"/>
    
 </beans:beans>

 

 

 

pom.xml

 

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
		 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
		 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<groupId>com.org</groupId>
	<packaging>war</packaging>
	<version>1.0.0-BUILD-SNAPSHOT</version>
	<properties>
		<java-version>1.8</java-version>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
		<org.springframework-version>5.3.13</org.springframework-version>
		<!--<org.springframework-version>4.2.3.RELEASE</org.springframework-version>-->
		<org.aspectj-version>1.8.9</org.aspectj-version>
		<org.slf4j-version>1.6.6</org.slf4j-version>
		<org.apache.axis2-version>1.7.4</org.apache.axis2-version>
	</properties>

	<repositories>
		<repository>
			<id>codelds</id>
			<url>https://code.lds.org/nexus/content/groups/main-repo</url>
		</repository>
		<repository>
			<id>wso2-nexus</id>
			<name>WSO2 internal Repository</name>
			<url>http://maven.wso2.org/nexus/content/groups/wso2-public/</url>
			<releases>
				<enabled>true</enabled>
				<updatePolicy>daily</updatePolicy>
				<checksumPolicy>ignore</checksumPolicy>
			</releases>
		</repository>
	</repositories>

	<dependencies>
		<!-- Spring -->
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-context</artifactId>
			<version>${org.springframework-version}</version>
			<exclusions>
				<!-- Exclude Commons Logging in favor of SLF4j -->
				<exclusion>
					<groupId>commons-logging</groupId>
					<artifactId>commons-logging</artifactId>
				</exclusion>
			</exclusions>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-jdbc</artifactId>
			<version>${org.springframework-version}</version>
		</dependency>
        
		<!-- Spring MVC -->
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-webmvc</artifactId>
			<version>${org.springframework-version}</version>
		</dependency>

		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-web</artifactId>
			<version>${org.springframework-version}</version>
		</dependency>

		<!-- Spring and Transactions -->
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-tx</artifactId>
			<version>${org.springframework-version}</version>
		</dependency>

		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-test</artifactId>
			<version>${org.springframework-version}</version>
			<scope>test</scope>
		</dependency>

		<dependency>
			<groupId>org.springframework.session</groupId>
			<artifactId>spring-session-data-redis</artifactId>
			<version>1.3.1.RELEASE</version>
			<type>pom</type>
		</dependency>

		<dependency>
			<groupId>org.aspectj</groupId>
			<artifactId>aspectjrt</artifactId>
			<version>${org.aspectj-version}</version>
		</dependency>

		<!-- https://mvnrepository.com/artifact/org.apache.logging.log4j/log4j-core -->
		<dependency>
			<groupId>org.apache.logging.log4j</groupId>
			<artifactId>log4j-core</artifactId>
			<version>2.17.2</version>
		</dependency>

		<!-- https://mvnrepository.com/artifact/org.apache.logging.log4j/log4j-api -->
		<dependency>
			<groupId>org.apache.logging.log4j</groupId>
			<artifactId>log4j-api</artifactId>
			<version>2.17.2</version>
		</dependency>

		<!-- jdbc log4j2  -->
		<dependency>
			<groupId>org.bgee.log4jdbc-log4j2</groupId>
			<artifactId>log4jdbc-log4j2-jdbc4</artifactId>
			<version>1.16</version>
		</dependency>

		<!-- https://mvnrepository.com/artifact/org.postgresql/postgresql -->
		<dependency>
			<groupId>org.postgresql</groupId>
			<artifactId>postgresql</artifactId>
			<version>42.2.25</version>
		</dependency>

		<dependency>
			<groupId>javax.inject</groupId>
			<artifactId>javax.inject</artifactId>
			<version>1</version>
		</dependency>

		<!-- MyBatis -->
		<dependency>
			<groupId>org.mybatis</groupId>
			<artifactId>mybatis</artifactId>
			<version>3.2.2</version>
		</dependency>
        
		<dependency>
			<groupId>org.mybatis</groupId>
			<artifactId>mybatis-spring</artifactId>
			<version>1.2.0</version>
		</dependency>

		<!-- DBCP -->
		<dependency>
			<groupId>org.apache.tomcat</groupId>
			<artifactId>tomcat-dbcp</artifactId>
			<scope>provided</scope>
			<version>7.0.53</version>
		</dependency>

		<!-- https://mvnrepository.com/artifact/org.apache.commons/commons-lang3 -->
		<dependency>
			<groupId>org.apache.commons</groupId>
			<artifactId>commons-lang3</artifactId>
			<version>3.2.1</version>
		</dependency>

		<!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.dataformat/jackson-dataformat-yaml -->
		<dependency>
			<groupId>com.fasterxml.jackson.dataformat</groupId>
			<artifactId>jackson-dataformat-yaml</artifactId>
			<version>2.9.3</version>
		</dependency>

		<!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.jaxrs/jackson-jaxrs-base -->
		<dependency>
			<groupId>com.fasterxml.jackson.jaxrs</groupId>
			<artifactId>jackson-jaxrs-base</artifactId>
			<version>2.4.5</version>
		</dependency>

		<dependency>
			<groupId>commons-dbcp</groupId>
			<artifactId>commons-dbcp</artifactId>
			<version>1.4</version>
		</dependency>

		<dependency>
			<groupId>commons-httpclient</groupId>
			<artifactId>commons-httpclient</artifactId>
			<version>3.0</version>
		</dependency>

		<!-- MappingJacksonJsonView -->
		<dependency>
			<groupId>org.codehaus.jackson</groupId>
			<artifactId>jackson-mapper-asl</artifactId>
			<version>1.9.13</version>
		</dependency>

		<dependency>
			<groupId>com.fasterxml.jackson.core</groupId>
			<artifactId>jackson-core</artifactId>
			<version>2.13.2</version>
		</dependency>
        
		<dependency>
			<groupId>com.fasterxml.jackson.core</groupId>
			<artifactId>jackson-databind</artifactId>
			<version>2.13.2.2</version>
		</dependency>
		<dependency>
			<groupId>com.fasterxml.jackson.core</groupId>
			<artifactId>jackson-annotations</artifactId>
			<version>2.13.2</version>
		</dependency>

		<dependency>
			<groupId>io.swagger</groupId>
			<artifactId>swagger-jersey2-jaxrs</artifactId>
			<version>1.5.9</version>
		</dependency>

		<dependency>
			<groupId>io.springfox</groupId>
			<artifactId>springfox-swagger2</artifactId>
			<version>2.9.2</version>
		</dependency>

		<dependency>
			<groupId>io.springfox</groupId>
			<artifactId>springfox-swagger-ui</artifactId>
			<version>2.9.2</version>
		</dependency>

		<dependency>
			<groupId>org.springdoc</groupId>
			<artifactId>springdoc-openapi-ui</artifactId>
			<version>1.5.2</version>
		</dependency>

		<!-- https://mvnrepository.com/artifact/org.eclipse.persistence/org.eclipse.persistence.moxy -->
		<dependency>
			<groupId>org.eclipse.persistence</groupId>
			<artifactId>org.eclipse.persistence.moxy</artifactId>
			<version>2.5.2</version>
		</dependency>

		<dependency>
			<groupId>javax.xml.bind</groupId>
			<artifactId>jaxb-api</artifactId>
			<version>2.2.11</version>
		</dependency>

		<!-- https://mvnrepository.com/artifact/org.glassfish.jaxb/jaxb-core -->
		<dependency>
			<groupId>org.glassfish.jaxb</groupId>
			<artifactId>jaxb-core</artifactId>
			<version>2.2.11</version>
		</dependency>

		<!-- https://mvnrepository.com/artifact/com.sun.xml.bind/jaxb-xjc -->
		<dependency>
			<groupId>com.sun.xml.bind</groupId>
			<artifactId>jaxb-xjc</artifactId>
			<version>2.2.6</version>
		</dependency>

		<dependency>
			<groupId>javax.xml</groupId>
			<artifactId>jaxrpc-api</artifactId>
			<version>1.1</version>
		</dependency>

		<!-- https://mvnrepository.com/artifact/com.thoughtworks.xstream/xstream -->
		<dependency>
			<groupId>com.thoughtworks.xstream</groupId>
			<artifactId>xstream</artifactId>
			<version>1.4.9</version>
		</dependency>
        
		<dependency>
			<groupId>org.apache.xmlbeans</groupId>
			<artifactId>xmlbeans</artifactId>
			<version>2.6.0</version>
		</dependency>

		<!-- https://mvnrepository.com/artifact/org.apache.httpcomponents/httpclient -->
		<dependency>
			<groupId>org.apache.httpcomponents</groupId>
			<artifactId>httpclient</artifactId>
			<version>4.3.2</version>
		</dependency>

		<!-- https://mvnrepository.com/artifact/org.apache.ws.xmlschema/xmlschema-core -->
		<dependency>
			<groupId>org.apache.ws.xmlschema</groupId>
			<artifactId>xmlschema-core</artifactId>
			<version>2.2.1</version>
		</dependency>

		<!-- https://mvnrepository.com/artifact/org.springframework/spring-jms -->
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-jms</artifactId>
			<version>2.5</version>
		</dependency>

		<!-- https://mvnrepository.com/artifact/org.codehaus.jackson/jackson-mapper-asl -->
		<dependency>
			<groupId>org.codehaus.jackson</groupId>
			<artifactId>jackson-mapper-asl</artifactId>
			<version>1.5.0</version>
		</dependency>

		<dependency>
			<groupId>io.springfox</groupId>
			<artifactId>springfox-staticdocs</artifactId>
			<version>2.5.0</version>
			<scope>test</scope>
		</dependency>

		<!-- https://mvnrepository.com/artifact/org.wso2.carbon/org.wso2.carbon.identity.sso.agent -->
		<dependency>
			<groupId>org.wso2.carbon</groupId>
			<artifactId>org.wso2.carbon.identity.sso.agent</artifactId>
			<version>1.2.0</version>
		</dependency>

		<!-- https://mvnrepository.com/artifact/org.openid4java/openid4java -->
		<dependency>
			<groupId>org.openid4java</groupId>
			<artifactId>openid4java</artifactId>
			<version>1.0.0</version>
		</dependency>

		<!-- https://mvnrepository.com/artifact/org.opensaml/opensaml -->
		<dependency>
			<groupId>org.opensaml</groupId>
			<artifactId>opensaml</artifactId>
			<version>2.6.1</version>
		</dependency>

		<!-- https://mvnrepository.com/artifact/xml-security/xmlsec -->
		<dependency>
			<groupId>xml-security</groupId>
			<artifactId>xmlsec</artifactId>
			<version>1.3.0</version>
		</dependency>
        
		<dependency>
			<groupId>org.springframework.security.extensions</groupId>
			<artifactId>spring-security-saml2-core</artifactId>
			<version>1.0.2.RELEASE</version>
		</dependency>

		<!-- https://mvnrepository.com/artifact/commons-net/commons-net -->
		<dependency>
			<groupId>commons-net</groupId>
			<artifactId>commons-net</artifactId>
			<version>3.6</version>
		</dependency>

		<dependency>
			<groupId>ojb</groupId>
			<artifactId>xdoclet-ojb-module</artifactId>
			<version>1.2.1</version>
		</dependency>

		<dependency>
			<groupId>org.projectlombok</groupId>
			<artifactId>lombok</artifactId>
			<version>1.18.16</version>
			<scope>provided</scope>
		</dependency>

		<!-- Other Web dependencies -->
		<dependency>
			<groupId>javax.servlet</groupId>
			<artifactId>jstl</artifactId>
			<version>1.2</version>
		</dependency>

		<dependency>
			<groupId>javax.servlet</groupId>
			<artifactId>javax.servlet-api</artifactId>
			<version>3.1.0</version>
		</dependency>

		<!-- https://mvnrepository.com/artifact/javax.servlet/servlet-api -->
		<dependency>
			<groupId>javax.servlet</groupId>
			<artifactId>servlet-api</artifactId>
			<version>2.5</version>
			<scope>provided</scope>
		</dependency>

		<dependency>
			<groupId>javax.servlet.jsp</groupId>
			<artifactId>jsp-api</artifactId>
			<version>2.1</version>
			<scope>provided</scope>
		</dependency>

		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>4.12</version>
			<scope>test</scope>
		</dependency>

		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-autoconfigure</artifactId>
			<version>2.4.2</version>
		</dependency>
	</dependencies>

	<build>
		<finalName>Tester</finalName>
		<plugins>
			<plugin>
				<artifactId>maven-eclipse-plugin</artifactId>
				<version>2.9</version>
				<configuration>
					<additionalProjectnatures>
						<projectnature>org.springframework.ide.eclipse.core.springnature</projectnature>
					</additionalProjectnatures>
					<additionalBuildcommands>
						<buildcommand>org.springframework.ide.eclipse.core.springbuilder</buildcommand>
					</additionalBuildcommands>
					<downloadSources>true</downloadSources>
					<downloadJavadocs>true</downloadJavadocs>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>2.5.1</version>
				<configuration>
					<source>1.8</source>
					<target>1.8</target>
					<compilerArgument>-Xlint:all</compilerArgument>
					<showWarnings>true</showWarnings>
					<showDeprecation>true</showDeprecation>
				</configuration>
			</plugin>
		</plugins>
	</build>
	<artifactId>tester</artifactId>
	<name>tester_tester</name>
</project>

 

 

나같은 경우는 설정상의 문제였지만, 

 

그 외에 다양한 에러 원인이있다. 404는 한가득 나올 가능성이 많으니까.

 

 

https://github.com/springfox/springfox/issues/3285

 

error code 404 on /swagger-ui.html, non spring boot app · Issue #3285 · springfox/springfox

Application is a non-boot app, I've tried almost all the possible solutions present on here but none of them seemed to work, spring-boot-version: 2.1.6.RELEASE spring-webmvc : 5.1.8.RELEASE spr...

github.com

 

 

 

🥚 swagger-ui 의 버전이 3.0대 이상부터는 url 주소가 바뀌었다. 

 

 

 

 

 

320x100
반응형