복붙노트

[SPRING] Tomcat 서버에 스프링 부트 웹 응용 프로그램을 배포하는 방법

SPRING

Tomcat 서버에 스프링 부트 웹 응용 프로그램을 배포하는 방법

나는 봄 부팅 웹 응용 프로그램을 만들었지 만 봄 부트 웹 응용 프로그램 WAR 파일을 tomcat에 배포 할 수 없으며 Java 응용 프로그램으로 실행할 수 있습니다. 바람둥이에 웹 서비스로 봄 부팅 응용 프로그램을 실행하는 방법. 다음 코드를 사용하고 있습니다. tomcat plz에서 실행할 수 있다면 web.xml을 사용하지 않고 web.xml을 사용하여 주석을 사용하는 데 도움이됩니다.

@SpringBootApplication
public class Application extends SpringBootServletInitializer {

    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
       return application.sources(Application.class);
    }

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

}

나머지 컨트롤러 용 코드 다음

@RestController
public class HelloWorld{

   @RequestMapping(value = "/hello", method = RequestMethod.GET)
   public ResponseEntity<String> get() {
       return new ResponseEntity<String>("Hello World", HttpStatus.OK);
   }
}

다음 Pom.xml을 사용하고 있습니다.

<groupId>org.springframework</groupId>
<artifactId>web-service</artifactId>
<version>0.1.0</version>

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.3.0.RELEASE</version>
</parent>

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

        <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-beans</artifactId>
    </dependency>
        <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-webmvc</artifactId>
    </dependency>
    <dependency>
        <groupId>com.googlecode.json-simple</groupId>
        <artifactId>json-simple</artifactId>
    </dependency>

</dependencies>

<properties>
    <java.version>1.6</java.version>
</properties>


<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>

<repositories>
    <repository>
        <id>spring-releases</id>
        <url>https://repo.spring.io/libs-release</url>
    </repository>
</repositories>
<pluginRepositories>
    <pluginRepository>
        <id>spring-releases</id>
        <url>https://repo.spring.io/libs-release</url>
    </pluginRepository>
</pluginRepositories>
<packaging>war</packaging>

해결법

  1. ==============================

    1.Spring Boot App을 war 파일로 배포하는 방법에 대한 두 가지 좋은 문서가 있습니다.

    Spring Boot App을 war 파일로 배포하는 방법에 대한 두 가지 좋은 문서가 있습니다.

    이 스프링 부트 하우투 - 전통적인 배포 문서 -

    이 문서에 따른 단계 -

    그리고 또 하나의 방법 -

    스프링 부트 응용 프로그램을 응용 프로그램 서버에 배포하는 방법을 설명하는이 spring io 설명서를 참조하십시오.

    단계 -

    pom.xml에서 spring-beans 및 spring-webmvc 종속성을 제거합니다. spring-boot-startter-web 의존성에는 이러한 종속성이 포함됩니다.

  2. ==============================

    2.Spring 부트는 Tomcat 서버를 지원하는 서블릿 3.x (web.xml없이)의 전통적인 war 파일로 애플리케이션을 배치하는 옵션을 제공합니다. 이에 대한 스프링 부트 문서를 참조하십시오. 여기서해야 할 일을 간략히 설명하겠습니다.

    Spring 부트는 Tomcat 서버를 지원하는 서블릿 3.x (web.xml없이)의 전통적인 war 파일로 애플리케이션을 배치하는 옵션을 제공합니다. 이에 대한 스프링 부트 문서를 참조하십시오. 여기서해야 할 일을 간략히 설명하겠습니다.

    1 단계 : pom.xml을 수정하여 패키징을 war로 변경합니다. (이미 수행 한 작업)

    <packaging>war</packaging>
    

    2 단계 : 의존성 변경

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

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

    3 단계 : 태그의 pom.xml에서 war 이름을 수정합니다 (war 이름이 추가 된 버전 정보를 피할 필요가있는 경우).

    <build>
        <finalName>web-service</finalName>
    .....
    

    4 단계 : war 생성을 위해 maven 빌드를 실행합니다. 5 단계 : 생성 된 war 파일 web-service.war을 tomcat에 배포하고 브라우저에서 url을 요청합니다. http : // : / web-service / hello

    Hello World를 만나야합니다.

    참고 : @Ali Dehghani가 말했듯이 중복 된 의존성을 제거 할 수도 있습니다.

  3. ==============================

    3.제공된 것처럼 spring-boot-startter-tomcat 종속성을 표시하십시오.

    제공된 것처럼 spring-boot-startter-tomcat 종속성을 표시하십시오.

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

    참고 1 : pom.xml에서 중복 된 종속성을 제거하십시오.

    <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-beans</artifactId>
    </dependency>
    <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
    </dependency>
    

    그들은 스프링 부트 스타터 패키지의 일부입니다.

    주 2 : 항아리를 전쟁으로 만들지 마라.

  4. ==============================

    4.스프링 부트 병을 스프링 부트 전쟁으로 변환하는 과정은 http://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#build-tool-plugins-maven-packaging에서 확인할 수 있습니다. 간단히 말하자면, 여러분의 예제에서했던 것처럼 스타터 클래스를 설정 한 다음 패키지를 .pom 파일의 병에서 전쟁으로 전환하십시오. 또한 spring-boot-startter-tomcat 종속성을 제공하도록 설정해야합니다. 다시 한번, 프로세스는 위의 링크에서 완전한 형태로 문서화되어 있습니다. 이 주제에 대한 자세한 내용은 Spring io 가이드, "스프링 부트 JAR 응용 프로그램을 WAR로 변환"(https://spring.io/guides/gs/convert-jar-to-war/)에서 볼 수 있습니다. 추가 도움이 필요하시면 알려 주시기 바랍니다.

    스프링 부트 병을 스프링 부트 전쟁으로 변환하는 과정은 http://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#build-tool-plugins-maven-packaging에서 확인할 수 있습니다. 간단히 말하자면, 여러분의 예제에서했던 것처럼 스타터 클래스를 설정 한 다음 패키지를 .pom 파일의 병에서 전쟁으로 전환하십시오. 또한 spring-boot-startter-tomcat 종속성을 제공하도록 설정해야합니다. 다시 한번, 프로세스는 위의 링크에서 완전한 형태로 문서화되어 있습니다. 이 주제에 대한 자세한 내용은 Spring io 가이드, "스프링 부트 JAR 응용 프로그램을 WAR로 변환"(https://spring.io/guides/gs/convert-jar-to-war/)에서 볼 수 있습니다. 추가 도움이 필요하시면 알려 주시기 바랍니다.

  5. ==============================

    5.나는이 문제에 직면했다. 위의 많은 부분이 좋은 조언입니다. 내 문제는 초기에 Pivotal TC 서버에 배포하는 것이 었습니다.

    나는이 문제에 직면했다. 위의 많은 부분이 좋은 조언입니다. 내 문제는 초기에 Pivotal TC 서버에 배포하는 것이 었습니다.

    마지막 줄만 필요합니다. 다른 코드는 main ()에서 이전에 유지되었으며 EntityManager 작업을 주입하기 위해 여기로 이동되었습니다.

    희망은 도움이됩니다.

  6. from https://stackoverflow.com/questions/34506712/how-to-deploy-spring-boot-web-application-on-tomcat-server by cc-by-sa and MIT license