[SPRING] Tomcat 서버에 스프링 부트 웹 응용 프로그램을 배포하는 방법
SPRINGTomcat 서버에 스프링 부트 웹 응용 프로그램을 배포하는 방법
나는 봄 부팅 웹 응용 프로그램을 만들었지 만 봄 부트 웹 응용 프로그램 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.Spring Boot App을 war 파일로 배포하는 방법에 대한 두 가지 좋은 문서가 있습니다.
Spring Boot App을 war 파일로 배포하는 방법에 대한 두 가지 좋은 문서가 있습니다.
이 스프링 부트 하우투 - 전통적인 배포 문서 -
이 문서에 따른 단계 -
그리고 또 하나의 방법 -
스프링 부트 응용 프로그램을 응용 프로그램 서버에 배포하는 방법을 설명하는이 spring io 설명서를 참조하십시오.
단계 -
pom.xml에서 spring-beans 및 spring-webmvc 종속성을 제거합니다. spring-boot-startter-web 의존성에는 이러한 종속성이 포함됩니다.
-
==============================
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.제공된 것처럼 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.스프링 부트 병을 스프링 부트 전쟁으로 변환하는 과정은 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.나는이 문제에 직면했다. 위의 많은 부분이 좋은 조언입니다. 내 문제는 초기에 Pivotal TC 서버에 배포하는 것이 었습니다.
나는이 문제에 직면했다. 위의 많은 부분이 좋은 조언입니다. 내 문제는 초기에 Pivotal TC 서버에 배포하는 것이 었습니다.
마지막 줄만 필요합니다. 다른 코드는 main ()에서 이전에 유지되었으며 EntityManager 작업을 주입하기 위해 여기로 이동되었습니다.
희망은 도움이됩니다.
from https://stackoverflow.com/questions/34506712/how-to-deploy-spring-boot-web-application-on-tomcat-server by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] 스프링 보안 : 맞춤형 사용자 상세 정보 (0) | 2019.01.10 |
---|---|
[SPRING] Spring Batch Admin을 기존 애플리케이션에 통합 (0) | 2019.01.10 |
[SPRING] JDBC 템플릿 용으로 어떤 트랜잭션 관리자를 사용해야합니까? JPA를 사용할 때? (0) | 2019.01.10 |
[SPRING] json 수신 및 deserialize 같이 봄 mvc 컨트롤러에서 개체 목록 (0) | 2019.01.10 |
[SPRING] Spring 3.0에서 다중 선택 MVC (0) | 2019.01.10 |