오늘은 직접 만든 웹 사이트를 빌드하고 배포까지 해 보려고 한다.
그러기 전에 먼저 빌드와 웹 배포에 대해 알아보자! 😉
컴파일된 코드를 실제 실행할 수 있는 상태로 만드는 일
빌드가 완성된 실행 가능한 파일을 사용자가 접근할 수 있는 환경에 배치시키는 일
Jar
는 JRE(Java Runtime Environment)만 존재하면 프로젝트 구동이 가능하다.
그러나 War
는 별도의 웹서버 또는 WAS (웹 컨테이너)가 있어야 프로젝트 구동이 가능하다.
이 둘 중 하나를 사용하여 웹 배포를 하게 될 것인데,
Jar, War 파일은 파일 어플리케이션 리소스를 패키징하는 방법에 차이가 있을 뿐 어떤 것을 사용하는지는 개발자의 마음이다.
Apache Tomcat 다운로드하기
https://tomcat.apache.org/
위 링크에 들어가서 왼쪽 사이드 메뉴에 있는 Download > Tomcat 8
을 클릭한다.
그리고 내 컴퓨터에 해당하는 파일을 다운로드한다. 나는 64-bit Windows zip
파일을 다운로드하였다. 이후 압축 풀기!
Tomcat의
server.xml
수정하기
전 단계에서 다운로드한 Tomcat 폴더 > conf > server.xml
파일을 열어 보자.
<Server port="8008" shutdown="SHUTDOWN">
그리고 중간에 Server port를 8008로 변경한다.
cmd 관리자 권한으로 실행하기
cmd를 관리자 권한으로 실행한 뒤 아래 명령어를 입력한다.
cd C:\tools\Server\apache-tomcat-8.5.93\bin 입력 후 엔터 (tomcat > bin 경로)
startup.bat 입력 후 엔터
이 단계가 끝났다고 해서 cmd 창을 끄면 안 된다! 계속 켜 놓고 있자.
Maven 다운로드하기
https://maven.apache.org/
위 링크로 들어간 뒤 홈 화면의 Use > Download
를 클릭한다.
Files에서 Binary Zip archive > Link > apache-maven-3.9.4-bin.zip
파일을 다운로드한다.
그리고 압축까지 풀어 준다.
Maven 폴더 내부에 repository 폴더 만들기
전 단계에서 압축 해제한 폴더 Maven 폴더 내부에 repository
폴더를 생성한다.
Maven의
settings.xml
수정하기
Tomcat 폴더 > conf > settings.xml
파일을 열어 보자.
<!-- localRepository
| The path to the local repository maven will use to store artifacts.
|
| Default: ${user.home}/.m2/repository
-->
<localRepository>C:\tools\Maven\apache-maven-3.9.4\repository</localRepository>
중간쯤 있는 localRepository 주석 내부에 있는 localRepository
를 아래로 내려 활성화시킨다.
그리고 Step 5에서 만든 repository
폴더의 경로를 내부에 붙여넣기 한다.
Spring 실행하여 관련 설정하기
Spring을 실행하여 상단 메뉴의 window > preferences > Maven > User Settings > User Settings
에서 Maven 폴더 내부에 있는 settings.xml
파일을 설정한다.
Spring Legacy Project 생성하고 jsp 만들기
Package Explorer로 본 경로는 위와 같다.
테스트용으로 간단하게 화면을 만들어 보았다.
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<script type="text/javascript">
function show() {
var value = document.getElementById("btn").innerText;
alert(value);
}
</script>
</head>
<body>
<button id="btn" onclick="show();">Already Clicked!</button>
</body>
</html>
프로젝트 우클릭 > Run as > Maven Build
클릭하기
Run as > Run Configurations> Main
에서 아래와 같이 작성하기
Run을 누른 뒤 콘솔창에 이렇게 뜨면 빌드 성공! 👍
Tomcat의
tomcat-users
수정하기
apache-tomcat-8.5.93 > conf > tomcat-users
파일을 열어 보자.
거의 마지막 줄 태그가 닫히기 바로 전 위치에 아래와 같이 작성해 준다.
<!--
<role rolename="tomcat"/>
<role rolename="role1"/>
<user username="tomcat" password="<must-be-changed>" roles="tomcat"/>
<user username="both" password="<must-be-changed>" roles="tomcat,role1"/>
<user username="role1" password="<must-be-changed>" roles="role1"/>
-->
<role rolename="manager-script"/>
<role rolename="manager-gui"/>
<role rolename="manager-jmx"/>
<role rolename="manager-status"/>
<user username="admin" password="admin" roles="managergui,manager-script,manager-status,manager-jmx"/>
</tomcat-users>
Spring에서
pom.xml
수정하기
pom.xml
의 plugins 태그 안에 Maven 관련 plugin을 작성해 준다.
작성했으면 메이븐 업데이트 한번 해 주기. 😀
<plugins>
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
<configuration>
<url>http://127.0.0.1:8899/manager/text</url>
<username>admin</username>
<password>admin</password>
<path>/DeployExam</path>
</configuration>
</plugin>
프로젝트 우클릭 > Run as > Maven Build
클릭하기
Run as > Run Configurations> Main
에서 아래와 같이 작성하고 Run 클릭하기
이렇게 하면 배포까지 완료! 👍