maven 배포, .war 파일

0

Spring

목록 보기
18/23
<!-- jnuit -->
		<!-- https://mvnrepository.com/artifact/org.junit.jupiter/junit-jupiter-api -->
		<dependency>
			<groupId>org.junit.jupiter</groupId>
			<artifactId>junit-jupiter-api</artifactId>
			<version>5.9.1</version>
			<scope>test</scope>
		</dependency>
<!-- servlet api , 톰캣 라이브러리 사용안하고 이거 사용함 -->
		<!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api -->
		<dependency>
			<groupId>javax.servlet</groupId>
			<artifactId>javax.servlet-api</artifactId>
			<version>4.0.1</version>
			<scope>provided</scope>
		</dependency>
<!-- jsp api -->
		<!-- https://mvnrepository.com/artifact/org.apache.tomcat.embed/tomcat-embed-jasper -->
		<dependency>
			<groupId>org.apache.tomcat.embed</groupId>
			<artifactId>tomcat-embed-jasper</artifactId>
			<version>10.1.0</version>
		</dependency>
  • 프로젝트 build path에서 library에 maven repository을 제외하고 Junit, 톰캣라이브러리 모두 지운 후 위에 코드를 pom.xml에 설정한다.
  • pom.xml제일 위에

    이처럼 설정해 놓은게 war 파일의 이름이 된다.
  • war가 나중에 배포할 때 aws나 도커 등에 올리는 파일이다.
  • 프로젝트 오른쪽 클릭 - run As - maven install 하면 war파일이 생성됨

  • 톰캣폴더의 webapps 폴더에 war파일을 넣고

  • 톰캣을 startup으로 시작하면 war파일 압축이 자동 해제됨.
    -> 그 톰캣 서버에 배포되는 것임!! 서비스가 되는 것

  • servlet engine도 jar파일로 만들 수 있음 -> 컨테이너에 올려놓고 실행하게 되면 웹프로젝트만 압축이 풀리는 것이 아니라 jar파일 속 엔진도 압축이 풀림
    -> jar파일 형식으로 maven프로젝트를 하면 servlet engine 없이도 요청,응답이 가능함
    -> aws에 jar파일 올려놓으면 언제 어디서든 사용할 수 있다.
    ➡︎ war파일은 적합한 방법은 아님. jar를 이용하자
    -> 스프링 부트를 사용하면 내장된 톰캣을 사용가능한데 이때 jar파일 안에 톰캣서버를 같이 넣을 수 있다. -> 클라우드에 올려놓고 실행하면 압축풀림, 웹프로젝트 & jar안의 톰캣서버도 압축해제됨 -> 톰캣서버 없이도 jar파일만 가지고 사용할 수 있다.

profile
백엔드를 공부하고 있습니다.

0개의 댓글