2017-12-05 3 views
0

나는 봄 부팅을 사용하고 있으며, 바람둥이 서버에 휴식 API 전쟁 파일을 배포하고 싶습니다. Tomcat 서버 로그에는 오류가 없습니다. 그러나 모든 엔드 포인트를 호출 할 때 404가 "찾을 수 없습니다"라는 메시지가 표시되고 Tomcat 서버에서도 동일한 오류 메시지가 표시됩니다.바람둥이에 봄 부팅 전쟁

자바 버전 : 8 바람둥이 버전 : 9

어쩌면 내가 여기서 뭔가를 그리워 내 코드 샘플은 다음과 같습니다

응원단 :

<?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/xsd/maven-4.0.0.xsd"> 
<modelVersion>4.0.0</modelVersion> 

<groupId>com.test</groupId> 
<artifactId>test</artifactId> 
<version>1.1</version> 
<packaging>war</packaging> 

<name>test</name> 
<description>test API</description> 

<parent> 
    <groupId>org.springframework.boot</groupId> 
    <artifactId>spring-boot-starter-parent</artifactId> 
    <version>1.5.1.RELEASE</version> 
    <relativePath /> <!-- lookup parent from repository --> 
</parent> 

<properties> 
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
    <project.reporting.outputEncoding>UTF- 
8</project.reporting.outputEncoding> 
    <java.version>1.8</java.version> 
</properties> 

<dependencies> 

    <dependency> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-web</artifactId> 
    </dependency> 



    <dependency> 
     <groupId>mysql</groupId> 
     <artifactId>mysql-connector-java</artifactId> 
     <scope>runtime</scope> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-tomcat</artifactId> 
     <scope>provided</scope> 
    </dependency> 

     <!-- tag::security[] --> 
    <dependency> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-security</artifactId> 
    </dependency> 
    <!-- end::security[] --> 


    <dependency> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-test</artifactId> 
     <scope>test</scope> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-jdbc</artifactId> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-data-jpa</artifactId> 
    </dependency> 
</dependencies> 

<build> 
    <defaultGoal>install</defaultGoal> 

    <pluginManagement> 
     <plugins> 
      <plugin> 
       <groupId>org.springframework.boot</groupId> 
       <artifactId>spring-boot-maven-plugin</artifactId> 
      </plugin> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-assembly-plugin</artifactId> 
       <version>3.0.0</version> 
      </plugin> 

     </plugins> 
    </pluginManagement> 
    <!-- To use the plugin goals in your POM or parent POM --> 
    <plugins> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-assembly-plugin</artifactId> 
     </plugin> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-compiler-plugin</artifactId> 
      <configuration> 
       <source>1.8</source> 
       <target>1.8</target> 
      </configuration> 
     </plugin> 
    </plugins> 
</build> 
</project> 

2.Application.java

@SpringBootApplication 
public class TestApplication extends SpringBootServletInitializer { 

@Override 
protected SpringApplicationBuilder configure(SpringApplicationBuilder 
application) { 
    return application.sources(TestApplication.class); 
    } 


public static void main(String[] args) { 
SpringApplication.run(TestApplication.class, args); 
} 

} 
+0

만약 당신이'spring-boot'를 사용하고 있다면 여기에 내장 된 바람둥이를 사용하십시오. 다른 tomcat 서버에 배포 할 필요없이'jar'' jar'에 패키지를 만들고'java -jar abc.jar' 명령을 사용하여 응용 프로그램을 실행하십시오. –

+0

제 경우, '루트 디렉토리를 사용하지 않았기 때문에'webapps'의'ROOT' 디렉토리에 있습니다. 나는'www.example.com/myAppName'과 같은 전체 URL만을 사용했습니다. 아직도 나는 404를 얻기 시작했다. 그것은'ROOT' 디렉토리를 되돌려 놓은 후에 작동한다. 왜 ... –

답변

0

Tomcat 서버에서 봄 부팅 응용 프로그램을 ROOT 컨텍스트로 실행하십시오.

u는 스프링 부트 응용 프로그램 (이것은 잘못된 방법입니다)으로 tomcat 서버에서 ROOT.war을 변경하여 수행 할 수 있습니다. 그렇지 않으면 구성 할 수 있습니다.

+0

어쩌면 당신은 다른 게시물 에서이 질문에 reffer 수 있습니다. https://stackoverflow.com/questions/27904594/spring-boot-war-deployed-to-tomcat?rq=1 – ismailzakky

0

나는 비슷한 문제를 해결했습니다. 오류가 없지만 웹 페이지를 열 때 경고 메시지가 나타납니다. "경고 : 매핑이 없습니다"라는 메시지가 표시 될 수 있습니다. SpringBootServletInitializer가 필요없고 응용 프로그램 클래스에서 metode를 재정의해야합니다. 스프링 부트는 자동 구성을 위해 개발되었습니다. HTML 또는 JSP 페이지는 resources/template 또는 resources/static 폴더에 있어야합니다. 읽어 보시려면 Serving Web Content with Spring MVC, this 페이지를 참조하십시오.