본문 바로가기

프로그래밍/JAVA & SPRING

[LifeSoft] spring 1강 Spring Tool Suite 4 설치 및 테스트

반응형

1. Spring 개발환경 설정

가. Spring 개발 환경 설정

1) 스프링 개발 툴

 가) 이클립스 + 스프링 플러그인

spring IDE 3.9.2 Release 확장 프로그램 설치

 나) STS (Spring Tool Suite - 이클립스에 스프링 플러그인이 포함된 버전)

 다) InteliJ

 

2) STS 다운로드 및 설치 - https://spring.io/tools/sts/all/

- sts 다운로드

- sts.exe 실행

- 에러가 발생할 경우 -> 환경변수에 JAVA_HOME, path에 JAVA_HOMT/bin 추가

- 주의 : STS 설치 디렉토리 및 workspace는 한글 이름이 들어간 디렉토리를 사용하지 말 것.

 

 

STS 실행을 한다.

 

아래 두가지를 사용을 한다.

Spring Legacy Project - jsp

Spring Boot

 

구버전의 Spring Legacy Project를 사용하기 위해

help - marketplace에 가서 find에 spring 입력 -  Spring Tool 3 Add-On을 install - 재시작

재시작 후 초기설정을 한다.

 

한글설정을 한다.(WINDOW-Preperenceis)

 

나. spring sample project를 다운받은 후 압축 풀고 import.

http://mannaedu.com/bbs/board.php?bo_table=pds&wr_id=74 

 

샘플프로젝트는 메이븐 프로젝트다

메이븐(maven)

외부 라이브러리 관리를 간단하게 처리한다.

 

c:/사용자/계정/.m2 메이븐이 관리하는 외부라이브러리 관리경로다.

c:/사용자/계정/.m2 폴더에 저장되어 개발시에 프로젝트에 빠져있어 무게가 덜 나가게 한다.

배포될때는 프로젝트에 포함된다.

 

메이븐 저장소 : http://mvnrepository.com

 

Maven Repository: Search/Browse/Explore

Liferay Message Boards Web Last Release on May 19, 2020

mvnrepository.com

 

pom.xml에서 다운받아서 약간 수정해준다.

<java-version>1.8</java-version>
<org.springframework-version>5.1.4.RELEASE</org.springframework-version>

 

다. spring01 프로젝트 생성 :

 

- Spring Legacy Project => Spring MVC project선택하면 관련된 파일들 다운받는다.

- 패키지 이름 : com.example.spring01

- 메이븐 라이브러리 : 사용자/.m2 디렉토리 확인

 

- spring 버전 변경 : pom.xml 수정

 

pom.xml을 보면 상단에

<project xmlns="http://maven.apache.org/POM/4.0.0" ... >

라이브러리를 개발자가 아닌 메이븐이 관리해주겠다는 내용

 

www.mbc.com => com.mbc.www

www는 바뀔수 있으니 artifactid이고

com.mbc는 groupId가 된다.

 

자바버전과 스프링버전 업그레이드

<java-version>1.8</java-version>
<org.springframework-version>5.1.4.RELEASE</org.springframework-version>

이렇게 하면 에러표시가 뜰 수 있는데 아래 버전을 수정한다.

 

- jdk 버전 수정 : Project Facets, Java compiler 버전 확인

 

project - Properties -

Java Compiler - JDK Compilance를 1.6 -> 1.8로 수정후 적용

Project Facets - Java를 1.6 -> 1.8로 수정후 적용

그래도 오류가 뜨면

Java Build Path - Libraries - JRE System Labrary 더블클릭

System Library의 Execution environment가 1.8인지 확인해보는데 이것보다

세번째 것이 더 낳더라.

Workspace default JRE (jdk1.8.0_112) 클릭 

혹시 여기도 확인한다  Installed JRES... 클릭 - Installed JREs 차이 뜨는데

jdk1.8... 에 체크되어 있으면 안된다. 밖에 버전과 이 안쪽의 버전이 맞는지 확인해야한다.

 

총 4개가 다 맞아야 한다.

JRE System = 1.8

Project Facets = 1.8

Compile = 1.8

pom.xml = 1.8

 

 

 

- 2019년 1월 현재 스프링의 최신 버전은 5.1.4이며 에러가 발생할 경우 하위 버전으로 설정(Java 최신 버전은 11이지만 호환성을 위하여 1.8로 설정함)

 

JDK 8+ for Spring Framework 5.x

JDK 6+ for Spring Framework 4.x

JDK 5+ for Spring Framework 3.x

 

아. 메이븐 빌드 에러 발생시 해결 방법

1. Java Build Path에서 jdk 버전을 1.8로 조정

2. Project Facets에서 jdk 버전을 1.8로 조정

3. 프로젝트 > Properties > Deployment Assembly > Add > Java Build Path Entries > Maven Dependencies 선택

스프링3 이하버전에서는 적용안됨 (최신버전만 체크)

4. pom.xml에서 spring version을 낮은버전으로 조금씩 조정해보면 해결되는 경우 있다.

5. 프로젝트 clean, server clean (톰킷 우클릭 - Clean, Clean Tomcat Work Directory)

5.1 한 가지더 우클릭 - Maven - Update Project - Update Maven Project - Force Update 체크

pom.xml에 있는 파일들을 새로 다운로드 받는다.

6. STS를 종료한 후 메이븐 저장소(.m2) 삭제, STS 재시작

저장소(.m2) 삭제해도 스프링을 시작시키면 다시 다운받는다.

 

그래도 안된다면 (이런 경우)

<java-version>1.8</java-version>
<org.springframework-version>5.1.4.RELEASE</org.springframework-version>

이렇게 했는데 아래의 다른 라이브러리 버전은 낮다.

호환이 잘 안되는 버전이 있다.

전반적으로 설정을 바꾼다.

그래서 전에 다운받아 설치했던 sample 프로젝트에 있는 내용을 복사한다.

 

- sample 프로젝트에서 설정파일 복사 :

시간상 문제로 복사를 하고 이해를 먼저 해본다.

1. pom.xml 복사

2. src/main/resources/mappers 디렉토리 생성

3. src/main/resources/mappers/sampleMapper.xml 복사

4. src/main/resources/log4j.xml 복사

5. src/main/resources/log4jdbc.log4j2.properties 복사

6. src/main/resources/logback.xml 복사

7. mabatis-config.xml 복사

8. src/main/webapp/WEB-INF/web.xml 복사

9. src/main/webapp/WEB-INF/spring/root-context.xml 복사

10. src/main/webapp/WEB-INF/spring/appServlet/servlet-context.xml 복사

복사 후에 클린 작업을 해본다.

 

1.프로젝트 clean

2. Tomcat clean 2가지

3. 메이븐 클린 - Force Update 체크함 (전체적으로 다운로드 다시 받는다)

 

 

복사 후에 돌려본다.

project - run (버튼누름) 하면 tomcat 설정이 나와야 한다. 없으면 추가

Java Build Path에서 tomcat을 추가할 것.

Java Build Path - Add Library - Server Runtime - Apache Tomcat V9.0을 설치

아파치 톰킷이 목록에 보이지 않으면 톰킷9.0을 다운받아서

server - runtime에 추가하지 않아서다.

참고 : http://blog.naver.com/PostView.nhn?blogId=dg_667&logNo=220600222121

 

Library 탭에 3가지 (Apache, JRE, Maven)가 있어야 한다.

 

Servers 탭에 우리가 만든 톰킷이 있으면 내려준다.

Servers - Add and Remove - Configured에 spring01만 있어야한다.

 

 

처음부터 POM.XML 파일의 내용을 복사붙여넣기 하면 에러가 잘 나지 않는다. 아래에러가 나지 않았다.

한글깨지는 것은

 

시작을 누르면 에러발생

The archive: C:/Users/i5/Downloads/apache-tomcat-8.0.43-windows-x64/apache-tomcat-8.0.43/bin/bootstrap.jar which is referenced by the classpath, does not exist.

참고 http://blog.naver.com/PostView.nhn?blogId=woni0221&logNo=220090667504

 

Server - tomcat더블클릭 - open laounch configuration 클릭 - Classpath에서 User Entries의 bootstarp.jar 파일 삭제 (bootstarp이 위와 두개로 잡혀있는데 위의 경로에 있는 파일 삭제) 

 

 

 

프로젝트의 내용을 본다.

 

HomeController 클래스를 보면

@Controller 가 붙어 있으면 '서블릿 클래스'가 된다는 뜻이다.

@RequestMapping(value = "/", method = RequestMethod.GET)

이렇게 되어 있으면 여기가 시작 페이지란 뜻이다.

이 url과 매칭이 된다. (http://localhost/spring01/)

 


 

 

sts-4 부터는 spring legacy project를 지원하지 않으므로 Eclipse Marketplace에서
Spring Tools 3 Add-On 3.9.7 Release를 추가 설치해야 함.

sts-3 플러그인 다운로드
Help > Eclipse Marketplace > spring으로 검색 > Spring Tools Add-On 3.9.7.Release 확장 프로그램 설치

4) 프로젝트의 기본 설정을 한다.


import시 - copy projects into workspace로 복사해서 가져온다.

스프링부트는 jsp만쓰지 않고 다른 템플릿을 써라고 한다.
jsp템플릿을 추가해야 한다.
help - install new software

work with: 2018-12 - http://download.eclipse.org/releases/2018-12 선택
java web으로 검색
Eclipse Java Web Developer Tools 선택
설치 후 재시작 -

window - preferences - Web - JSP Files 확인
jsp utf-8인지 확인

라) JSP 템플릿 편집(있으니깐 패스)
window - preferences - Web - JSP Files - Editor - Templates - New JSP FILE(html) 선택 후 - Edit클릭
New JSP FILE(html5)

바) Get 방식의 한글데이터 처리(tomcat 구버전)

Server.xml 편집
URIEncoding="utf-8" 속성 추가(2군데)

<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1"
redirectPort="8443"
URIEncoding="utf-8" />

<Connector port="8009" protocol="AJP/1.3"
redirectPort="8443"
URIEncoding="utf-8" />

 


톰킷을 구동시키는 툴이 안보이면 설치한다.
install new software - 2018-12 - http://download.eclipse.org/releases/2018-12 선택 java로 검색 Eclipse Java EE developer tools

 

Eclipse software repository | The Eclipse Foundation

The Eclipse Foundation - home to a global community, the Eclipse IDE, Jakarta EE and over 360 open source projects, including runtimes, tools and frameworks.

download.eclipse.org

 


프로젝트 - Properties - Deployment Assembly 에 들어가면
Maven Dependences가 안보이면
add - Java Build Path Entries - Maven Dependences 선택

 


최종적으로 프로젝트 실행할때
servlet-context.xml의 맨 아래부분을
<context:component-scan base-package="com.example.example" />
example을 spring01로 수정해야 함.
example01이 아님....

 


JSP파일에 한글이 깨지면 아래코드를 추가한다.
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">