반응형

작성 일시 : 2018년 6월 2일

환경 : Window 10 Pro 64 bit, Eclipse kepler, JDK1.7.0_80, Tomcat 1.7.0_88, Maven 3.2.2

목적 : 개발 환경을 하나의 폴더에 구성해 일괄 관리 및 배포

 

 

1. 다운로드 및 설치

 

이클립스 다운로드

http://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/kepler/SR2/eclipse-jee-kepler-SR2-win32-x86_64.zip

 

JDK 다운로드

http://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase7-521261.html

 

Tomcat 다운로드

https://tomcat.apache.org/download-70.cgi

 

Maven 다운로드

http://mirror.apache-kr.org/maven/binaries/

 

설치 파일이 아닌 zip 파일을 받아서 진행하며 한 폴더에 압축 해제

JDK는 설치 후 폴더를 통째로 복사 or 설치 경로 설정( Default : C:\Program File\Java\ )

workspace 폴더 생성

이클립스 바로가기 생성(편의)

 

 

2. 이클립스 설정

 

이클립스 폴더 내 구성 설정 파일 편집

 

-vm 설정 추가

최소, 최대 메모리 설정

 

이클립스 실행 후 만들어둔 workspace 설정

 

 

3. Tomcat 설정

 

이클립스 상단 탭 > Window > Preferences

Server > Runtime Environment > add

 

 

설치 톰캣 버전 설정 후 Next

 

설치 JDK 경로 및 JRE 설정

 

 

추가 완료

 

 

4. Maven 설정

 

Maven 폴더에 repository 폴더 생성

 

Maven 폴더\conf\settings 수정

localRepository 관련 설정 추가

 

이클립스 내 메이븐 설정

이클립스 상단 탭 > Window > preferences > Maven > User Settings > Browse

위에서 설정한 settings.xml 선택

 

 

5. 스프링 플러그인 설치

 

이클립스 상단 탭 > help > Eclipse Marketplace에서 알맞은 버전의 STS 설치

 

 

설치 완료 후 재시작하면 Spring Project 생성 가능

 

 

 

 

 

+ 만약 마켓 플레이스에 이클립스 버전에 맞는 STS가 없다면 Help > Install New Software에서 직접 설치

 

for Eclipse Photon (4.8): http://dist.springsource.com/snapshot/TOOLS/nightly/e4.8

for Eclipse Oxygen (4.7): http://dist.springsource.com/snapshot/TOOLS/nightly/e4.7

for Eclipse Neon (4.6): http://dist.springsource.com/snapshot/TOOLS/nightly/e4.6

for Eclipse Mars (4.5): http://dist.springsource.com/snapshot/TOOLS/nightly/e4.5

for Eclipse Luna (4.4): http://dist.springsource.com/snapshot/TOOLS/nightly/e4.4

for Eclipse Kepler (4.3): http://dist.springsource.com/snapshot/TOOLS/nightly/e4.3

for Eclipse Juno (4.2): http://dist.springsource.com/snapshot/TOOLS/nightly/e4.2

for Eclipse Juno (3.8): http://dist.springsource.com/snapshot/TOOLS/nightly/e3.8

for Eclipse Indigo (3.7): http://dist.springsource.com/snapshot/TOOLS/nightly/e3.7

 

 

 

 

 

 

 

6. 스프링 프로젝트 실행

 

스프링 프로젝트 생성

 

 

 

 

 

test 프로젝트 생성 완료

 

프로젝트 우클릭 > Run As > Run On Server

이미 서버를 추가 했다면 Choose an existing server 선택

 

test 추가 후 finish

 

실행 로그 확인 후 브라우저 접근

 

기본 페이지 확인

 

참조 :

http://addio3305.tistory.com/32?category=772645

http://addio3305.tistory.com/33?category=772645

http://addio3305.tistory.com/35?category=772645

 

반응형

'Java' 카테고리의 다른 글

[Spring] Error Page 커스터마이징  (0) 2018.10.15
[Spring] 정적 리소스 사용 설정  (0) 2018.07.28
Spring, PostgreSQL 연동 with MyBatis  (6) 2018.06.03
JVM  (0) 2018.04.07
Java 개발 환경 세팅  (0) 2018.02.03
반응형

JVM

 

JVM(Java Virtual Machine)이란?

 

자바 바이트 코드를 실행할 수 있는 주체로 일반적인 프로그램이 OS 위에서 동작하는 반면 자바 프로그램은 OS위의 JVM이 올라가고 그 JVM위에서 프로그램이 동작한다. 때문에 이론적으로 모든 자바 프로그램은 기타 하드웨어, OS의 종류에 독립적으로 동작한다.

 

 

1. JVM 구조

 

* Java Compiler : 자바 소스코드(.java) 파일을 JVM이 해석할 수 있는 JAVA Byte Code(.class)파일로 변경한다. 

 

JVM은 크게 다음 4가지 모듈로 구성된다.

 

1. Class Loader

JVM 내로 .class 파일 및 필요 라이브러리들을 로드한다. 로드된 클래스 및 라이브러리들은 링크에 의해 Runtime Data Area에 적절히 배치된다.

 

2. Execution Engine

로드된 클래스의 Byte Code(어셈블리어)를 해석하여 OS가 해석할 수 있는 Binary Code(기계어) 파일로 변경한다.

 

3. Runtime Data Area

JVM이 OS로부터 할당 받은 메모리 영역

 

4. Garbage Collector

메모리 관리 역할을 수행. 자바 프로그램(Instance 혹은 Application)에서 필요한 메모리를 요청하여 부여하고 필요 여부를 판단하여 사용되지 않는 메모리는 반납(==malloc(), free())

 

 

2. JVM 메모리(Runtime Data Area) 구조

 

 

JVM 메모리 구조는 크게 다음 5가지 영역으로 나누어진다.

 

1. PC Register(Per Thread)

현재 수행 중인 JVM 명령의 주소를 가지고 있다.

 

2. JVM Stack(Per Thread)

스택 프레임 구조체를 저장하는 스택으로 FILO로 프레임이 관리된다.

 

3. Native Method Area(Per Thread)

자바 외의 언어로 작성된 코드를 위한 영역으로 JNI(Java Native Interface)을 통해 호출하는 자바 외 코드를 수행하기 위한 스택으로 언어에 맞게 C or C++ 스택이 생성된다.

 

4. Method Area

JVM이 읽어들인 클래스와 인터페이스에 대한 런타임 상수 풀, 필드, 메서드, 변수, 메서드의 바이트 코드 등을 보관한다. 가장 핵심이 되는 영역이 런타임 상수 풀로 모든 레퍼런스를 담고 있으며 해당 영역을 통해 메서드나 필드의 실제 주소를 찾아서 참조한다.

 
5. Heap : 인스턴스 또는 객체를 저장하는 공간으로 GC에 의해 관리된다. Heap은 또 다시 다음과 같이 3개의 영역으로 나누어진다.

 

 

5-1) New/Young 영역 : 새로 생성된 객체를 저장
5-2) Old 영역 : 만들어지진 오래된 객체를 저장. New 영역의 객체가 일정 시간이 지나면 Old로 이동
5-3) Permanent 영역 : JVM 클래스와 메서드 객체를 저장

 

 

3. 동작 시나리오

 

1. Java(고급언어) 파일이 컴파일러에 의해 class(어셈블리어) 파일로 변환

 

2. 클래스 파일 및 필요 라이브러리들이 Class Loader에 의해 JVM으로 로드 

 

3. class(어셈블리어)파일이 기계어로 변환되고 링크에 의해 적절한 메모리 위치에 링킹 

 

4. 어플리케이션 실행 

 

 

반응형

'Java' 카테고리의 다른 글

[Spring] Error Page 커스터마이징  (0) 2018.10.15
[Spring] 정적 리소스 사용 설정  (0) 2018.07.28
Spring, PostgreSQL 연동 with MyBatis  (6) 2018.06.03
Spring 개발 환경 세팅  (0) 2018.06.02
Java 개발 환경 세팅  (0) 2018.02.03
반응형

작성일자 : 2018.02.03

환경 : Window, JDK, Eclipse 

시나리오 : JDK 설치, 환경변수 설정, IDE 설치

 

Java란?

Sun Microsystems( '18 현재 Oracle에 인수 )에서 1995년 출시한 프로그래밍 언어 

 

Java를 사용하여 개발을 하기 위한 설치 시나리오는 다음과 같습니다.

 

1. JDK 설치

2. 환경변수 설정

3. 개발 툴( IDE etc.. ) 설치

 

각 항목에 대해 자세히 알아보고, 시나리오를 진행하겠습니다.

 

1. JDK 설치

 

JDK? JRE? JVM?

 

JVM( Java Virtual Machine ) - 자바 소스코드로부터 만들어진 바이너리 파일을 실행할 수 있는 프로그램

JRE( Java Runtime Environment ) - JVM이 자바 프로그램을 동작 시킬 때 필요한 라이브러리, 기타 파일들을 가지고 있는 프로그램

JDK( Java Development Kit ) - JRE와 개발을 위해 필요한 도구들을 포함하는 통합 Kit

 

 

 

1-1. JDK 다운로드

 

최신버전 - http://www.oracle.com/technetwork/java/javase/downloads/index.html

이전버전 - http://www.oracle.com/technetwork/java/javase/archive-139210.html

 

이전버전의 7 버전 설치파일 다운로드

 

Default로 설치

 

 

 

설치 확인

java -version

 

 

JDK에는 JRE가 포함 되어 있기 때문에 JRE도 같이 설정 되어 있는 것을 확인할 수 있습니다.

 

 

 

 

2. 환경변수 설정

 

cmd로 notepad를 실행할 경우 현재 경로와 위치에 상관없이 메모장을 실행할 수 있습니다. 이는 OS 설치 시 관련 path가 이미 설정 되어 있기 때문입니다. 실제 메모장의 경로는 C:\Windows|System32에 위치해 있으나 해당 폴더로 접근하지 않고도 Path를 참고 하여 메모장을 실행할 수 있게 됩니다. 마찬가지로 어디에서든 자유롭게 자바를 실행할 수 있도록, 설치 경로에 의한 예외를 보장할 수 있도록 환경변수를 설정해 줄 필요가 있습니다. 

 

JAVA_HOME - 자바가 설치된 경로를 의미하며, 여러 버전이 설치 되어 있을 경우 해당 변수를 통해 사용할 자바를 결정

Path - 실행 프로그램이 있는 위치를 설정해주는 환경변수. 현재위치에서 프로그램을 검색한 후 없으면 Path 경로에서 프로그램을 검색한다.(어디서나 실행가능)

Classpath - 자바 가상머신이 자바클래스 파일을 찾기 위한 환경 변수로 현재 디렉토리를 지정한다. java 파일들의 위치를 JVM이 알수 있도록 한다.

 

 

내PC > 우클 > 속성

 

 

 

 

고급 옵션 > 환경변수

 

 

 

환경 변수 > 새로 만들기

 

 

 

CLASSPATH 추가

 

 

 

 

JAVA_HOME 추가 - jdk버전은 cmd에서의 java 버전과 동일 or java 경로상의 jdk 폴더명과 동일

 

 

 

 

 

환경 변수 > Path > 편집

 

 

 

 

 

 

 

 

 

설정 확인

javac -version

( Java compiler )

 

 

 

 

 

 

3. 개발 툴( IDC etc.. ) 설치

 

Eclipse Mars( 4.5 )버전의 Java EE Developer 기준

다운로드 링크 - https://www.eclipse.org/downloads/packages/release/Mars/2

 

 

실행 화면

 

 

 

여기까지 진행하면 개발 환경 세팅 완료

 

 

 

 

반응형

'Java' 카테고리의 다른 글

[Spring] Error Page 커스터마이징  (0) 2018.10.15
[Spring] 정적 리소스 사용 설정  (0) 2018.07.28
Spring, PostgreSQL 연동 with MyBatis  (6) 2018.06.03
Spring 개발 환경 세팅  (0) 2018.06.02
JVM  (0) 2018.04.07

+ Recent posts