개발 환경 세팅, 프로젝트 세팅

oYJo·2025년 3월 12일

Spring

목록 보기
2/29

개발 환경 구축

관리의 편의를 위해 하나의 폴더를 정해서 다운 설치하는 것이 좋다. 프레임워크 사용 시 폴더 경로에 한글이 있을 경우 문제가 될 수 있는 경우가 있으므로 폴더 명에 한글이 포함되지 않도록 한다.

예를 들면, C:\dev로 폴더를 지정하고 개발관련 프로그램들을 dev 폴더 안에 다운 받고 설치한다.

1) JDK 설치 확인
amazon-corretto → jdk-11.0.2로 변경할 예정

2) Eclipse 새 워크스페이스 생성 및 문자 인코딩, 서버 환경 설정

3) STS(Spring Tool Suite) 설치하기
STS란 Spring Tool Suite의 약자로, Spring Framework를 사용하기 위한 개발 툴을 말한다. 일반적으로
는 별도의 설치 도구를 통해 설치하여 사용가능하고, 이클립스 IDE에서 제공하는 STS 플러그 인을
통해 간단히 설치 할 수 있다.

➔ 방법1: STS 직접 설치하기
https://github.com/spring-projects/toolsuite-distribution/wiki/Spring-Tool-Suite-3
가장 최신 버전 STS 다운받기!! → 다운 완료 후 압축해제


➔ 방법2: Eclipse STS3 플러그인을 통해 설치하기
[Help] – [Eclipse MarketPlace..] 클릭하고 검색창에 ‘STS3’ 입력 하여 검색 후 설치

4) Eclipse 및 STS 구성 설정 추가
이클립스를 사용할 때 여러 JDK버전을 사용할 때가 있다.
하지만 이클립스 버전에 따라 JDK 버전이 너무 낮으면 실행 시 버전 호환 문제로 인한 오류가 발생할 수 있으므로 이클립스 내장 버전이 아닌 현재 설치된 자바 버전을 인식 하도록 eclipse.ini 구성
설정 파일(또는 STS 직접 설치 시 STS.ini 구성 설정 파일) 의 정보에 해당 내용을 추가하고, 이클립
스를 재실행 해야 한다.
(가장 최근 버전의 STS3는 JDK 11버전을 추가해야 한다!)

자바환경설정 변경해주고 cmd에서도 꼭 확인하기
C:\tools\Framework\jdk-11.0.2\bin
sts 폴더에 와서 sts 2개 있는데 밑에 톱니바퀴 sts 클릭하고 vscode로 한번 열어보기
그럼 STS.ini 파일 열림

  • vmarge


    저장하고 끄고
    이번에는 잎모양 STS 켜주기
    그럼 경로가 자동으로 나옴



윈도우 - preferences - general - appearance
들어가서 원하는 테마 고르기
윈도우 - preferences - general - show heap status

5) Eclipse 환경 설정 및 Server Runtime Environment 추가

general - work space - refresh using native hooks or polling 체크
하단에 other : UTF-8로 변경

enc 치면

다 UTF-8로 변경
server - runtime environments
add - 톰캣 9.0
browse 다운 받은 tomcat 위치 찾아서 넣기

코드를 쓸 때마다 문자 인코딩하면 느려지기에 꺼주기

validation - validation
유효성 검사하는 것

disable all 해주기 : 이거 하나하나 다 해주면 컴퓨터가 느려져서 꺼주기
validation - web - jsp files - vlidation - validationg files - validate jsp fragments 체크 해제

✔️여기까지는 필수

text - text editors displayed tab width : 4로 되어 있는데 보통, 2or3으로 하기에 3으로 변경해주기
undo history size : 기본은 200으로 되어 있는데 500으로 하기
그럼 ctrl+z 500번 할 수 있는 것

web - html files - line width
이게 기본 72으로 되어 있는데 라인 정리 자동완성키 이용할 때 72하면 정리가 잘 안 되기에 200~300 바꿔주기

maven - user settings - user settings
browse
눌러서
C:\tools\Framework\apache-maven-3.9.1\conf
settings.xml 열기


서버 만들고 serve modules without publishing 체크
그리고 port 번호 변경

lombok 라이브러리에만 있으면 안되기에 인식 시켜줘야한다
lombok 설치하기
lombok 들어가서 sts(잎) 설정해주기 설치

C:\tools\Framework\apache-maven-3.9.1\repository

아무것도 안 했을 때 어떻게 설정해줘야 하는지 주석처리로 보여줌
.jar 파일 직접 다운해서 직접 추가해줬는데 이젠 그렇게 안 하고 .jar 안 가지고 있어도 maven이 알아서 다운로드 받아서 해줄 예정


이렇게 변경해줄 예정
이제 여기서 관리할 수 있게 따로 폴더 만들어서 경로 넣어준 것

sts 들어와서 잘 되어있는지도 확인하면 된다


프로젝트 세팅

1. 프로젝트 생성

[New] – [Spring Legacy Project] – 프로젝트 이름 입력
Templates : ‘Spring MVC Project’ 템플릿 선택

legacy 전버전을 의미함

configure templates - 1번째, 3번째만 지워주기
만약에 그래도 밑에 여러개(3개 초과)가 안 보인다면 껐다가 다시 켜주기
(사진상태이면)

여러번 하기(10번까지도 갈 수 있음)
그래도 만약 너무 안 된다면 폴더 들어와서
C:\workspace\6_Framework\.metadata\.plugins

content.core 이게 필요함
원래는 여러 번하면 이게 생성되는데 생성이 안 되니깐 내가 직접 생성

그래도 안 된다면 ↓ 파일 넣어주기
https-content.xml
이거 넣어주기


그럼 나오고, spring MVC Project 선택
이름 쓰고 next 했는데 만약 오류나면
.metadata 다 지우고

↑.metadata.zip
다시 넣고 다시 실행하기

2. 프로젝트 구조 및 변경

➔ spring 폴더는 프로젝트 설정 파일이 모이는 폴더 이므로
src/main/resources 폴더로 옮겨서 관리하는 것이 적절함

resources가 2개임
src/main/resources 는 자바용
webapp/resources 는 spring용

web.xml : 배포 서술자(서버 start 시 가장 먼저 읽는 파일)
pom.xml : 프로젝트 빌드, 프로젝트를 객체 형식으로 표현한 것,
빌드를 해야지 실행시킬 수 있음

project - build automatically 자동으로 되어있다

spring : 스프링 환경 설정 파일(context) 보관 파일
환경설정파일
근데 위치가 적절하지 않아서 옮겨줘야함
클릭해서 src/main/resources로 옮겨주기


** 스프링 프로젝트 설정 파일의 경로가 변경되었기 때문에 현재 상태로는 프로젝트가
정상 수행되지 않음.
-> 어느 위치에 설정파일이 존재하고 있음을 명시해야 함!

➔ web.xml 파일 설정하기.

1) 사용하려는 웹 모듈 버전에 맞게 web.xml 버전도 변경

경로 변경되었으니깐 경로도 변경해주기
web.xml 열어서

2.5 → 4.0
java → JAVA
2_5 → 4_0
변경하기

2) root-context.xml 파일 경로 변경 (classpath:spring/root-context.xml )

  • classpath : JVM이 프로그램 실행 시 클래스 및 설정 파일을 찾는 기준이 되는 경로
    Spring MVC Proejct는 src/main/java, src/main/resources 두 폴더가 포함되어 있음.

/WEB-INF/ : classpath : 로 변경

↑ 이게 classpath에 등록된 애들임

그래서 이 의미가 이 안에, spring/root-context.xml 라는 의미

3) servlet-context.xml 파일 경로 변경 ( classpath:spring/appServlet/servlet-context.xml )

4) 요청/응답 시 한글 깨짐 방지 필터 추가 (스프링에서 제공하는 필터 사용)

<!-- 한글 깨짐 방지를 위한 Filter 추가 -->
	<!-- 별도의 filter 클래스를 만들지 않고 스프링에서 제공하는 filter를 사용 -->
	<filter>
		<filter-name>encodingFilter</filter-name>
		<filter-class>org.springframework.web.filter.CharacterEncodingFilter
		</filter-class>
		<init-param>
			<param-name>encoding</param-name>
			<param-value>UTF-8</param-value>
		</init-param>
	</filter>
	<filter-mapping>
		<filter-name>encodingFilter</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>

3. Project Facets 변경

설치된 JDK 버전, EL 구문 사용을 위한 웹 모듈 버전으로 프로젝트 설정 변경

  • 프로젝트 배포 시 사용할 server runtimes 지정
    프로젝트 우클릭 -> properties -> Project Facets

그리고 서버 Project Facets 진행

4. pom.xml 내용 수정

프로젝트 빌드 도구인 Maven 관리 문서 내용 수정
properties : 공통적으로 사용할 버전 또는 설정 값 정보를 작성하는 태그

<properties>
	<java-version>11</java-version>
	<org.springframework-version>5.3.14</org.springframework-version>
	<org.aspectj-version>1.9.9.1</org.aspectj-version>
	<org.slf4j-version>1.7.25</org.slf4j-version>
</properties>

dependencies : Maven 프레임워크가 적용된 프로젝트는 외부 저장소(https://mvnrepository.com/)와 의존 관계를 맺고 있어 프로젝트에 필요한 파일을(라이브러리) 사용자가 직접 받을 필요 없이 해당 태그 내에 지정된 형식으로 작성하면 네트워크를 통해 외부 저장소에서 자동으로 얻어와 세팅함

1) MVN Repository -> Java Servlet API 검색 -> 첫 번째 검색 결과 선택
https://mvnrepository.com


2) pom.xml 파일의 <dependencies> 태그 내부 내용 중
2.5버전으로 설정된 servlet api 추가 구문을 지우고 MVN Repository에서 복사한 내용을 추가

build : 프로젝트 빌드 시 사용되는 플러그인 추가 및 버전 정보 설정
➔ 작성된 플러그인 중 maven-compiler-plugin 내용 수정

<!-- 컴파일러 플러그인은 프로젝트의 소스(자바코드)를 컴파일하는 데 사용
jdk 1.6 이상 사용 시 3.0 이상 버전을 사용, source, taget에는 사용하는 jdk 버전을 작성 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
<source>11</source>
<target>11</target>
<compilerArgument>-Xlint:all</compilerArgument>
<showWarnings>true</showWarnings>
<showDeprecation>true</showDeprecation>
</configuration>
</plugin>

<packaging>war</packaging>
배포할 때 사용

이렇게 위에는 변경할 게 별로 없음

<properties> 
<java-version>11</java-version> 
<org.springframework-version>5.3.14</org.springframework-version> 
<org.aspectj-version>1.9.9.1</org.aspectj-version> 
<org.slf4j-version>1.7.25</org.slf4j-version> 
</properties> 

으로 변경해주기

<!-- 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>



변경해주기

<!-- 컴파일러 플러그인은 프로젝트의 소스(자바코드)를 컴파일하는 데 사용 
jdk 1.6 이상 사용 시 3.0 이상 버전을 사용, source, taget에는 사용하는 jdk 버전을 작성 --> 
<plugin> 
  <groupId>org.apache.maven.plugins</groupId> 
  <artifactId>maven-compiler-plugin</artifactId> 
  <version>3.8.1</version> 
  <configuration> 
    <source>11</source> 
    <target>11</target> 
    <compilerArgument>-Xlint:all</compilerArgument> 
    <showWarnings>true</showWarnings> 
    <showDeprecation>true</showDeprecation> 
  </configuration> 
</plugin> 


이건 추가해주기

<!-- Could not initialize class 
org.apache.maven.plugin.war.util.WebappStructureSerializer --> 
<!-- 메이븐 구성 문제로 인한 pom.xml 오류 발생 시 해결 --> 
<plugin> 
  <artifactId>maven-war-plugin</artifactId> 
  <version>3.2.2</version> 
</plugin>

5. pom.xml에 작성된 내용과 이클립스 프로젝트간의 설정 동기화

➔ Maven은 프로젝트 관리 도구로써 프로젝트에 필요한 설정 내용을 pom.xml에 작성합니다.
만약에 pom.xml에 작성된 내용과 프로젝트 설정이 일치하지 않으면 오류가 발생합니다.
이때, 동기화를 진행하여 오류를 해결할 수 있습니다.
1) 프로젝트 우클릭 -> Maven -> Update Project… -> (업데이트 창에서) OK 클릭


alt + f5 단축키

project → / 로 변경

JSTL 라이브러리는 maven 이용해서 추가되지 않음
예전에는 되었는데 어쩔 수 없이 servlet에서 했던 방식으로 추가해주기

폴더 만들고 jstl 라이브러리 3개 넣어주기

혹시 안 된다면

들어가서 추가하면 된다

이젠 index.jsp가 아니라, home.jsp에서 열린다

6. Servers 탭에 server 설정 추가

Servers 탭 -> new -> server

7. Context Root(요청 최상위 주소) 변경 (/)

프로젝트 우클릭 -> properties -> Web Project Settings
Context root -> "/"로 변경

8. JSTL 라이브러리 추가

JSTL 라이브러리는 maven 이용해서 추가되지 않으므로 별도로 추가
webapp/WEB-INF 폴더에 lib 폴더 생성 후 라이브러리 추가

profile
Hello! My Name is oYJo

0개의 댓글