이번에는 vscode 환경에서 gradle 프로젝트를 .war 파일로 배포해보겠습니다.
저는 정상적으로 배포되었는지 확인을 위해 1개의 컨트롤러와 로그를 남겼습니다.
AppController.java
@Controller
public class AppController {
@RequestMapping(value = "/index")
public String indexView() {
return "index";
}
}
RootConfig.java
@Configuration
public class RootConfig {
public RootConfig(){
System.out.println("RootConfig constructor");
}
}
vscode에서 gradle 빌드는 vscode의 gradle extension pack을 사용해서 빌드합니다.
해당 plugin을 설치하면 vscode 왼쪽 하단에 코끼리 버튼이 생성됩니다.
코끼리 버튼을 클릭하고 프로젝트명 > Tasks > build > build 버튼을 클릭하면 .war 파일이 생성됩니다.
일반적으로 .war 파일은 프로젝트명 > build > libs 경로에 생성이 됩니다.
.war 파일이 생성되었으면 오른쪽 클릭 후 Debug on Tomcat Server 혹은 Run on Tomcat Server를 클릭합니다.
vscode에서의 tomcat 서버 세팅방법은 여기를 참고하세요.
서버가 기동될 때 RootConfig.java의 생성자 메서드에 넣었던 로그가 찍혔습니다.
그리고 AppController.java에서 만들었던 메서드가 index.jsp파일을 정상적으로 찾아 화면에 나타났습니다.
No Spring WebApplicationInitializer types detected on classpath
tomcat으로 server를 실행하던 도중 해당 메세지가 나오면서 프로젝트가 정상적으로 배포되지 못하는 현상이 발생되었습니다. 같은 프로젝트로 각각 다른 컴퓨터에서 시도를 했었는데 정상적으로 배포가 되는 컴퓨터가 있었고 안되는 컴퓨터가 있었습니다. 그래서 설정문제라고 생각해서 2~3일 동안 계속 해결방법을 찾았습니다.
현재 PC 환경변수에 JAVA_HOME은 java 1.8로 잡혀있었고 vscode의 java.home은 1.11로 잡혀있었습니다.
그래서 build한 java버전과 배포한 java버전이 맞지 않아서 발생한 오류라고 생각하는데 정확하진 않습니다.
하지만 vscode의 java.home을 1.8버전으로 변경 후에 해당 문제는 해결되었습니다.
이 문제에 대해 보다 자세하게 알고 계신분은 다른 사람들이 볼 수 있도록 코멘트로 설명 부탁드립니다.
'programming_kr > other' 카테고리의 다른 글
애자일(Agile Methodology) 방법론이란? (0) | 2022.08.11 |
---|---|
DevOps란? (0) | 2022.08.08 |
public cloud란? (0) | 2022.08.05 |
웹 서버, WAS, 웹 컨테이너의 차이 (0) | 2022.07.17 |
vscode에서 tomcat 서버 세팅하기 (5) | 2022.07.12 |
댓글