메이븐
Maven : 자바 프로젝트를 서버에서 돌아갈 수 있도록 빌드해주는 도구
Maven의 핵심역할 : 필요한 라이브러리를 네트워크를 통해서 자동으로 다운받아준다.(Maven Repository)
-> 개발자들이 미리 등록해놓은 라이브러리를 pom.xml에서 자동으로 프로젝트에 포함시켜줍니다.(설정 코드를 통해)
윈도우 사용시 4.20.1 - WINDOWS X86_64 다운로드
스프링 설치
이클립스 내에서도 설정가능
레거시 공부를 위해 Create a simple project 체크
[Group Id] : 프로젝트는 대부분 팀 단위로 진행하게 되는 데 팀의 id를 통해 식별할 수 있는게 해주는 게 Group Id.
id는 중복 X, 도메인역순으로 작성합니다.
만약 maven.bs.com을 운영하고있다면 com.bs.maven 으로 입력
[Artifact Id] : 프로젝트를 유일하게 식별할 수 있게 해주는 게 Artifact id (프로젝트의 이름)
ex) 네이버-> 네이버, 카카오->카카오
[Version](Default:0.0.1-SNAPSHOT) : 0.1 설정
[Packaging] :빌드 후 패키징할 때 무엇을 고를지 설정(웹 프로그래밍이기 때문에 war로 설정)
[Name] : 프로젝트명
[Description] : 프로젝트(pom.xml)에 대한 기본 설명
[Parent Project] : 다른 pom.xml을 불러와서 따로 설정하는 부분
Maven 프로젝트 생성 완료
사진처럼 프로젝트가 생성됐다면 정상적으로 생성 완료된 것입니다!
기존 Java 파일로 web을 돌렸을 때와 다르게 test,target 폴더가 새로 생겼는데 프로젝트 폴더의 기본 구조는 다음과 같습니다.
[src/main/java]
- 자바의 클래스,인터페이스 파일들을 저장하는 공간입니다.
[src/main/resources]
- 스프링에 대한 설정파일 xml파일들을 저장하는 공간입니다.
ㄴ메이븐프로젝트는 스프링설정을 전부 다 xml파일로 설정합니다
- xml파일들이 들어갈 공간이다 라고 쉽게 기억을 하시면 좋습니다.
- DB정보를 담고있는 프로퍼티 파일들, 자바이외의 설정파일들이 들어가는 공간이기도 합니다.
[src/test/java]
- test를 수행할 수 있는 곳 → 예를들어 단위테스트...
[JRE System Library]
- 자바 표준라이브러리, 스트링객체,Arrays,List,Map,System,Object
[src폴더]
- static한 파일들 예를들어 img,html,css,javascript파일들을 저장하는 폴더입니다.
[target폴더]
- 기존에 자바 파일에서 comfile된 파일들을 WEB-INF 아래에 classes로 들어가게 설정 했지만 maven에선 기본적으로 target이란 폴더에서 관리가 가능함.
- build하면 target폴더 안에 생성됨.
[pom.xml]
- 메이븐의 핵심파일입니다.
- 라이브러리 다운을위한 웹에서 내려받기위한 설정들을 이파일에서 진행하게 됩니다.
POM은 "Project Object Model"의 약자로, 프로젝트의 다양한 정보를 처리하기 위한 객체 모델입니다.
pom.xml에는프로젝트 설정을 XML 태그로 기술하고 있습니다.