자바 개발환경 구축하기
JDK 설치
자바 개발환경 구축에 앞서 JDK 파일을 설치한다. JDK 안에는 자바 프로그램을 실행시켜주는 JRE가 포함된다.
오라클 다운로드 페이지로 이동한다.
오라클은 잦은 라이센스 변경을 거쳐왔고, 2019년 1월 이후로 오라클 JDK는 유료 구독제로 전환되었다. 엄밀히 말하면 “유료화”가 아닌 “유료 구독제”로의 전환을 겪은 것이지만 OpenJDK로 갈아타는 개발자들도 많다고 한다.
jdk1.6.0_45, jdk1.7.0_80, jdk1.8.0_181 보다 낮은 버젼을 사용하면 라이센스 위반이 아니라고 한다. jdk1.n.0_nnn 이렇게 뒤에 붙은 숫자는 업데이트 패치 버젼을 의미하고, 저 값까지는 이전처럼 써도 된다.
Java Archive 로 이동해서 8u202 이전 버전으로 들어간다. 이 중에서 Java SE Development Kit 8u181을 찾아 자신의 OS 에 맞게 설치해주면 된다. 나는 윈도우 64bit를 쓰고 있으니 jdk-8u181-windows-x64를 선택해 다운받았다.
이때 설정하는 설치 경로는 추후 환경변수를 적용할 때 참고하게 된다. 나는 관련 파일은 모두 한 곳에 모아둘 것이므로 C드라이브 안에 Java 폴더를 만들어두었다. 설치 완료 후, 자바 최신 업데이트는 필요없으므로 해제한다.
환경변수 설정
JAVA_HOME: 자바의 설치 위치
CLASSPATH: 콘솔에서 클래스를 찾는 경로
Path: 자바 프로그램을 찾는 경로
이후 명령프롬프트를 켜고 java -version, javac를 입력해서 제대로 설정되었는지 확인한다.
java.exe -version: 자바를 실행하는 JRE 호출 명령어
javac.exe: 자바 컴파일러 호출 명령어(exe는 생략할 수 있다)
이클립스 설치 및 설정
설치된 zip 파일의 압축을 풀어주고 eclipse 폴더 내부의 eclipse.ini 설정파일을 수정해준다. JDK설정(-vm …… javaw.exe)을 추가해주고, Virtual MachineArguments 옵션 값(Xms, Xmx)을 변경해준다. 이 옵션값은 램이 8GB 이상이면 변경하고, 아니라면 버벅거릴 수 있으니 그대로 둔다.
-vm
C:/Program Files/Java/jdk1.8.0_181/bin/javaw.exe
-vmargs
-Dosgi.requiredJavaVersion=1.8
-Dosgi.instance.area.default=@user.home/eclipse-workspace
-XX:+UseG1GC
-XX:+UseStringDeduplication
–add-modules=ALL-SYSTEM
-Dosgi.requiredJavaVersion=1.8
-Dosgi.dataAreaRequiresExplicitInit=true
-Xms1024m
-Xmx2048m
–add-modules=ALL-SYSTEM
설정을 변경했으면 이클립스를 실행하여 작업폴더를 만든다. 나는 한번 설정한 워크스페이스를 그대로 쓸 것이라 Use this as the default and do not ask again 을 체크해주고 C드라이브 내에 ws 폴더를 생성했다.
들여쓰기(Insert spaces for tabs), 라인넘버 출력(Show line numbers) 설정, 코드 TAB 설정을 변경한다.
undo history size 는 undo 버퍼값을 의미하는데, ctrl+z를 생활화하는 개발자라면 크게 키워줘야 한다. Displayed tab width도 가독성을 고려하여 2로 설정해주었다. 여럿이서 코드를 공유하는 경우에는 값을 바꾸지 않고 동일하게 일치시켜두기도 한다.
target 폴더에는 컴파일된 클래스들이 올라간다. 컴파일된 클래스 파일이 공유되지 않도록, ignored resources에 아래와 같이 추가해준다.
플러그인은 STS, SVN, Maven Integration, EGit, JQuery, More Clipboard 정도를 설치한다는데, 이클립스 버젼에 따라 관련 플러그인이 이미 설치되어 있을 수도 있다.
나는 STS, More Clipboard 만 추가로 설치해주었다.
톰캣 설치 및 적용
자체적으로 로컬 서버를 구동하기 위해 아파치 톰캣을 설치한다.
톰캣에서 안내하는 버젼별 호환성. 안내에 맞게 골라서, 다운로드 하고 java 폴더에 압축을 풀어준다.
8080에서 8090으로 포트번호를 변경해준다. 바꾸지 않고 서버를 돌리면 대개 이미 돌아가고 있다며 에러가 난다.
server.xml 파일을 열어 직접 변경해주거나, 이클립스에서 톰캣 설정을 끝마친 뒤 Overview 탭에서 직접 바꿔줄 수 있다.
포트번호에 따른 구분
0번 ~ 1023번: 잘 알려진 포트 (well-known port)
1024번 ~ 49151번: 등록된 포트 (registered port)
49152번 ~ 65535번: 동적 포트 (dynamic port)
이클립스의 Show view - servers 를 프로젝트 뷰 밑에 추가해주고, 서버를 구동(New server - Start)하여 기본 설정에 문제가 없는지 테스트해본다. 또 포트번호가 8090으로 제대로 적용되었는지, 프로토콜 핸들러를 확인한다. 서버 구동 단축키는 Ctrl+Alt+r 키이다.
메이븐 설치 및 적용
메이븐은 프로젝트에서 필요한 라이브러리를 찾아 추가해준다.
설치 페이지에서 binary zip 파일을 다운받아 java 폴더에 압축을 풀어줄 것이다.
메이븐의 conf/settings.xml 설정파일에서 local repository 의 기본값은 .m2/repository 로 설정된다.
즉, 따로 폴더를 지정하지 않으면 프로젝트에 필요한 라이브러리 파일들이 해당 폴더로 추가된다.
만약 툴마다 다른 라이브러리 저장소를 쓰고 싶다면 localRepository 위치 설정을 새로 준 뒤에,
이클립스의 Window - Preference - maven - user settings 에 새로운 설정파일을 넣어주면 된다.
그렇지만 pom.xml에 라이브러리를 명시해주면, 알아서 구분해서 설치되므로 프로젝트마다 동일한 저장소로 설정해둬도 상관없다.
어차피 배포할 때, 프로젝트에 쓰인 라이브러리들을 확인할 수 있으니 그냥 그대로 둬도 된다.
나는 이전에 m2 폴더를 싹 날리고 새로 받고, 잘라서 붙여넣고… 이런 걸 반복하면서 툴마다 저장소 위치를 다르게 설정해뒀었는데, 배포하면 프로젝트에 쓰인 라이브러리들만 추출되는 걸 알고 나서는 그대로 두고 있다..
메이븐을 설치했으니, 명령 프롬프트에서 메이븐 명령어를 사용할 수도 있다.
쓸일이 없을 듯 싶지만, 시스템 변수 Path에 메이븐 bin 폴더 위치값을 추가해주면 된다.
참고
- 오라클 자바 유료화 이슈 - 무엇이 진실인가?
- TCP/UDP의 포트 목록
- Oracle Software Downloads
- Eclipse Packages Downloads
- Apache Tomcat Versions
- Downloading Apache Maven
그냥 공부하는 W e B L o g
shoshosh.github.io