스프링 프로젝트를 진행 하다보면 IDE(이클립스 or STS 등) 을 사용 하는데, 

가끔씩 'Problems opening an editor. Reason: {project name} does not eixist' 에러가 발생 합니다.

2개 이상의 프로젝트가 맞물려 작동하는 계층 구조에서 상위 프로젝트를 import 하지 않았거나, 'Close Project' 된 경우 주로 발생 합니다.

 

1. 프로젝트 Close 여부. 아래 그림은 프로젝트가 closed된 경우입니다.

 

2. 프로젝트가 import 되지 않은 경우. import해주시면 됩니다.

 

3. import 했는데도 안 될때. (Gradle 이나 Maven 의 빌드를 우선 진행 하시고, 그래도 안되면 아래르 따라해주세요)

3-1. 프로젝트 -> 우클릭 -> Project Facets -> Convert to faceted form

 

3-2 . Application 체크 -> Apply and Close

(사진1)

Lombok을 사용하기 위해 pom.xml 에 라이브러리를 추가 하면 바로 사용 할 수 있다고 생각 했습니다.

그래서 당연히 위 (사진1)처럼 MemberEntity에서 선언된 bullder()가 정의 되지 않았다는 에러가 발생 했습니다.


Lombok 을 사용하기 위해서 생각보다 단순한 작업만 진행 해주시면 됩니다.

 

 

 

1. 우선 pom.xml에 아래 라이브러리 코드를 추가해주세요.


		
		
		
			org.projectlombok
			lombok
			true
		
		

 

 

 

2. 다운로드 경로에서 설치된 lombok-1.18.12.jar을 더블클릭해서 실행 해주세요.

(만약 클릭해도 압축 해제 창만 뜨면 아래처럼 cmd에서 실행 해주세요)

 

 

 

3. Eclipse를 사용하고 계시면 아래처럼 자동으로 바인딩된 상태로 'Install / Update'를 하시면 됩니다.

하지만 저는 STS를 사용하고 있으니 'Specify location'에서 STS.exe파일을 추가 해주시면 됩니다.

 

 

 

4. 원하시는 경로의 STS.exe 파일이 추가 됬는지 확인 하시고 'Install/Update'를 클릭하세하시고,

    다음 페이지는 무난하게 넘겨줍니다.

 

 

 

5. 설치 완료 후 STS및 이클립스를 재시작 해주시고 프로젝트 build를 해주세요. 

MemberEntity 클래스에 @Builder와 @Getter등 Lombok의 어노테이션이 정상적으로 작동해 bean등록이 되었습니다.

 

매번 실무에서는 만들어져 있던 프로젝트를 import/pull 해서 사용 하다보니,

초기 프로젝트 세팅(프로젝트 생성 및 깃 저장소 연결) 을 직접 해본적이 없었습니다.

스터디를 위해 프로젝트를 만들다가 삽질을 하도 많이해서 시간낭비를 또 하지 않기 위해 블로그에 정리 합니다.

상세한 설명보다는 절차적으로 이미지로 표현 하였습니다.

 

 

 

1.  https://github.com 접속 및 회원 가입.

 

2. 'Start a Porject' 버튼 클릭 후 그림(2-1) 처럼 작성

그림(2-1)

 

 

 

3. 생성된 깃 저장소 링크 확인. (5번 항목에서 사용 됨)

 

 

 

 

4-1. STS 및 이클립스 실행 -> Window -> Show View -> Other... 선택 (그림 4-1)

4-2. Git Repositories 선택 (그림 4-2)

그림(4-1)
그림(4-2)

 

 

 

5-1. Git Repositories 항목 -> Clone a git repository 선택 (그림 5-1)

 - 항목이 없으면 Window -> Show View -> Other... 에서 검색

5-2 Location.Url 항목에 3번에서 생성된 Git Url 복사 및 붙여넣기 (그림 5-2)

5-3 next (그림 5-3)

5-4 Git 저장소를 선택 후 Finish (그림 5-4)

 

그림(5-1)
그림(5-2)
그림(5-3)
그림(5-4)

 

 

 

6. Git Repositories 항목에서 추가된 저장소를 확인 (그림 6-1)

그림(6-1)

 

 

 

 

7-1. 스프링 프로젝트 생성 (그림 7-1)

   New -> Spring Boot -> Spring Starter Project

7-2 설정 하고 싶은 정보 입력 (그림 7-2)

7-3 기본 설정을 위한 Spring Web 선택 (그림 7-3)

7-4 Finish (그림 7-4)

그림(7-1)
그림(7-2)

 

그림(7-3)

 

그림(7-4)

 

 

 

8. 생성된 프로젝트 확인

 - unknown 에러 발생시 해당 링크 참조 https://gabrielyj.tistory.com/178

그림(8-1)

 

 

 

9-1. 프로젝트 우클릭 -> Team -> Share Project (그림 9-1)

9-2. 부모 디렉토르 확인 후 Finish 

 

그림(9-1)
그림(9-2)

 

 

 

 

10. Git 저장소와 연동된 프로젝트를 확인. '프로젝트 이름[깃 저장소 이름]'

 

 

11-1. 프로젝트 파일 깃 저장소로 Commit 하기 위해서 , Unstaged Changes 파일들을 Staged Changes 로 보내기

        파일 선택 -> 우클릭 -> Add  to index (그림 11-1)

11-2 Staged Changed 된 파일 확인 (그림 11-2)

11-3 Commit message 작성 (그림 11-3)

11-4 커밋 작업 후 깃 저장소로 Push (그림 11-4)

11-5 마스터 브랜치 확인 후 머지 및 Finish 확인

11-6 최종 메세지 확인 후 종료

그림(11-1)
그림(11-2)
그림(11-3)
그림(11-4)
그림(11-5)
그림(11-6)

 

 

 

12. Github 홈페이지에서 커밋 내용 확인 (그림 12-1)과 (그림 12-2) 처럼 최근 커밋 내용이 출력

그림(12-1)
그림(12-2)

안녕하세요, 지난주 까지 스프링+Maven 프로젝트를 진행 하고 있었는데, 갑작스럽게 스프링부트+Gradle을 진행하게 되었습니다.

회사에 계신 사수분이 지금 환경을 더 잘 한다고 하셔서 많이 배우고자 변경 하게 되었습니다.


Gradle는 Ant 와 Maven 의 장점을 합쳐 만든 빌드 도구이며 4.x 버전 이후로 개발에 최적화가 진행 되었다고,

빠른 빌드 속도, 동적 요소 관리 유연, 코드 길이와 가독성이 좋은 등 여러가지 장점이 있다고 합니다.




저는 이클립스 기반의 STS를 이용 해서 프로젝트를 생성 하겠습니다.

STS설치, JDK설치 및 설정은 제가 작성한 포스트를 따라 해주시면 됩니다.



1-1. STS 설치는 아래 링크에서 필요한 버전을 다운 받아주세요, 저는 3.9.6 버전을 사용 설치 하였습니다.

https://spring.io/tools3/sts/legacy


1-2. JDK 다운 및 환경 변수 설정

https://gabrielyj.tistory.com/162?category=629044








2. File -> New -> Spring Starter Project










3. 이 부분에서는 프로젝트의 환경 설정을 해주게 됩니다


Service URL : 해당 프로젝트가 다운로드되는 URL 입니다. 프로젝트 생성 Finish 때 연동 됨

Name : 프로젝트 명을 선택, 원하시는 내용으로 네이밍 하셔도 됩니다.

Type : 빌드 방식 설정, Maven이나 Gradle 방식 선택. 선택 방식에 따라서 프로젝트의 구조가 변경 되게 됩니다. 

Packaging : Jar는 embeded 톰캣(내부) 를 사용하고 War는 외부 톰캣을 사용합니다. 기존 Spring의 서버 사용 방식과 똑같습니다.

Java Version : 현재 사용 중인 자바 버전 선택

Language : 프로젝트의 개발 언어 선택

Group / Package : 그룹 및 패키지명을 선택, 원하시는 내용으로 네이밍 하셔도 됩니다.










4. 프로젝트에서 사용될 라이브러리를 시작 하기전에 설정 할 수 있습니다.

하지만 기존 스프링의 Maven 에서는 pom.xml 에 사용자가 원하는 라이브러리를 언제든지 추가가 가능 한 것 처럼,

그레이들에서도 프로젝트 생성 후에 아무때나 추가 할 수 있습니다. 저는 우선 아무것도 선택하지 않고 진행 하겠습니다.










5. 3번 스텝에서 선택된 정보를 바탕으로, 입력된 url 을 통해 zip파일을 내려 받으며 다운로드 완료 후 자동으로 임포트 됩니다.

페이지에서 직접 받게 되시면 zip파일을 다운/압축 해제 후 워크스페이스에 임포트 하시면 됩니다.









6. 생성 완료 후 프로젝트의 구조를 확인 할 수 있습니다.

우선 프로젝트 실행을 한 번 시켜 본 후 , 각 폴더 및 파일의 설명은 다음 포스트에서 진행 하겠습니다.

src/main/java 패키지에 TestController.java 클래스를 만드신 후 아래 간단한 컨트롤러 코드를 입력 해주세요.


package com.theblack.page;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class TestController {
	@RequestMapping(value="/")
	public String testMethod() {
		return "HelloWorld";
	}
}







7. Run -> Run As -> Spring Boot App 을 실행 하신 다음, 인터넷 창에 localhost:8080 및 설정하신 포트를 입력 해주시면,

아래 첨부된 그림처럼 HelloWorld 가 표시 되는것을 확인 하실 수 있습니다. 










+ Recent posts