Mac M1을 기준으로 openjdk 11버전을 설치해보자. brew는 깔려있다는 전제 하에 시작하겠다.
openjdk 저장소 추가
brew tap adoptopenjdk/openjdk
cask가 없는 경우 설치
brew install cask
OpenJDK 11 설치
brew install --cask adoptopenjdk11
설치 여부 확인
java -version
openjdk version "11.0.11" 2021-04-20
OpenJDK Runtime Environment AdoptOpenJDK-11.0.11+9 (build 11.0.11+9)
OpenJDK 64-Bit Server VM AdoptOpenJDK-11.0.11+9 (build 11.0.11+9, mixed mode)
사이트 접속하여 tomcat 설치
https://tomcat.apache.org/download-90.cgi
아래와 같이 tar.gz파일을 다운로드하면된다. 혹시 windows 사용자라면 자신의 bit에 맞는 버전을 다운로드하자.
tomcat이 다운로드된 위치로 이동하여 아래 커맨드 입력 후 실행
cd '설치위치'
tar zxvf apache-tomcat-9.0.50.tar.gz -C /Users/유저네임/Documents/상세경로
위의 상세경로는 일반적으로 /Library에 넣는 경우가 많음. 나는 그냥 Users/유저네임 폴더에 저장하여 사용하는 중이다.
Spring 레거시 프로젝트를 작성하기 위해서는 STS3 또는 전자정부프레임워크로 프로젝트를 생성해야한다. 인텔리제이의 경우 나는 Spring Boot 프로젝트만 뜨기 때문에 전자정부프레임워크로 진행하였다. 링크는 아래를 참고하자.
https://www.egovframe.go.kr/home/sub.do?menuNo=41
위 링크에서 Mac 64bit용으로 다운을 받아주면된다. STS3는 아래를 참고하자.
STS3는 이클립스의 마켓플레이스에서 다운을 받아야하는데 검색을 하면 위와 같이 2개가 나온다. 현재는 정식적으로 STS4를 지원하기 때문에 STS4에 추가하여 사용할 수 있는 위의 플러그인을 설치해주면된다.
나만 그런것일지도 모르지만 STS3 자체로는 스프링 레거시 프로젝트 생성은 불가능했다. 그래서 스프링 config xml 파일로 일일이 설정하여 프로젝트를 생성하였다.
나는 전자정부프레임워크를 수업시간에 다뤘으므로 해당 툴로 진행을 하겠다. 혹시라도 STS3로 진행하는 사람들은 우선 Danymic Web으로 프로젝트를 생성하고 설정 파일들을 동일하게 설정해주면 된다.
이제 본격적으로 프로젝트를 생성해 볼 것이다. New를 선택하여 'Spring Legacy Project'를 클릭하여 준다.
아래와 같이 프로젝트명을 작성하고 Templates 하단의 메뉴들을 살펴보면 Spring MVC Project가 보일 것이다. 선택하고 Next를 누르자.
그럼 아래와 같이 top-level 패키지를 지정하라는 설정창이 나온다. 패키지명은 본인이 정하기 나름이니 해당 패키지명을 설정해주자.(패키지는 차후 bean을 자동 탐색할때 경로의 대상이되니 구분을 잘해두어야한다.)
이제 프로젝트가 생성되었으니 차근차근 설정을 시작해보자. 제일 먼저 Java와 스프링의 버전을 수정해주겠다. 참고로 나는 JDK 1.8, 스프링 4.3.30 버전을 사용하였다.
src>main>webapp>pom.xml 파일을 클릭하여 열어주자. 아래 보이는 사진에서 처럼 java-version과 org.springframework-version을 수정해주자. 여기서 properties는 이 xml파일에서 하나의 변수처럼 사용할 수 있는 태그를 선언하는 것을 의미한다.
위에서 설정을 수정하였으면 아래로 스크롤을 쭉 내리다보면 pluging 설정 부분이 나온다. 아래 사진에 표시된 부분을 1.8로 수정해주자. 이렇게 수정을 해주어야 JDK가 완전히 수정된다.
다음은 필요한 라이브러리들을 설정해주겠다. 아래는 복사해서 사용할 수 있도록 작성한 것이며, 해당 태그들이 위치하는 곳은 pom.xml 내부의 dependencies 태그 내부로 지정해주면 된다.
<!-- lombok -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.24</version>
<scope>provided</scope>
</dependency>
<!-- Mybatis -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.4.6</version>
</dependency>
<dependency> <!--해당 라이브러리가 있어야 스프링에서 mybatis를 사용가능-->
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>1.3.3</version>
</dependency>
<!-- DB -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.49</version>
</dependency>
<dependency>
<groupId>com.oracle.database.jdbc</groupId>
<artifactId>ojdbc8</artifactId>
<version>19.7.0.0</version>
</dependency>
<!-- upload -->
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.4</version>
</dependency>
이렇게 라이브러리들을 등록완료하였으면 maven 라이브러리에도 잘 적용이 되었는지 확인해주면 된다. 혹시 라이브러리가 보이지 않거나 maven 라이브러리 자체가 보이지 않으면 여기를 참고하여 조치하자.
이제 dispatcherServlet이 참고하는 servlet-context.xml 설정을 해보자. 우선 STS3 사용자는 해당 파일 자체가 없으니 사진 속 내용을 참고하여 파일을 설정해주자.
여기서 위의 내용에 대해 어떤 설정인지 알아보자.
다음은 가장 중요한 web.xml 파일의 설정을 해볼 것이다. 중요한 내용인만큼 다음 글에서 자세하게 알아보자.
그럼 이만.👊🏽
감사합니다 ㅠㅠ 덕분에 레거시 프로젝트 생성했어요..