close

Trust Me!! Trust You!!


  • Blog
  • Local Log
  • Tag Cloud
  • Key Log
  • Guestbook
  • RSS Feed
  • Write a Post
  • Admin

혹시 블로그 스킨이 깨져 보이시나요? 최신버전의 Internet Explorer(Windows용), Opera, Firefox를 사용해보세요.

Found 2 article(s) for '이클립스'.

  1. 2015/10/29 eclipse 최적화
  2. 2015/07/23 이클립스로 개발시 WebContent 디렉토리의 설정

eclipse 최적화

웹 프로그래밍
2015/10/29 00:10
 

이클립스는 개발자에게 없어서는 안되는 필수 도구이다. 자바개발자라면 대부분 이클립스를 사용하고 있을텐데, 이클립스를 자신의 환경에 맞게 설정한 후 사용하면 개발이 더 편해진다. 대장 또한 컴퓨터를 갈아 엎고나서 이클립스를 설치 한 뒤 가장 먼저하는 것이 환경설정이다. 매번 이곳저것 뒤져가며 설정하는 것이 번거로워 이클립스 설정을 한자리에 모두 모아보았다.

내가 꺼려하는 것 중에 하나는 지금하는 설정이 무엇을 변경하는 것인지도 모른 채 하라는데로 설정하는 것이다. 따라서 각 설정마다 최대한 자세히 설명을 첨부하려고 노력했으며, 설명을 보고 자신에게 필요없는 설정은 하지 않으면 된다. 혹시라도 설정하다가 모르는 부분을 댓글로 문의한다면 따로 자세히 포스팅하도록 하겠다.
추가적으로 이클립스 성능향상이나 개발자에게 도움이 되는 설정이 있으면 댓글로 알려주세요!

이클립스를 사용하는 개발자들에게 많은 도움이 되었으면 한다.

Default 설정값

아래는 변경하지 않은 이클립스/STS 설정파일의 전문이다. 혹시라도 설정을 변경하다가 실행이 되지 않거나 오류가 발생한다면, 아래를 참고하여 기본 설정값으로 되돌리면 된다.

이클립스 초기 설정(eclipse.ini 수정)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
 
-startup
plugins/org.eclipse.equinox.launcher_1.3.0.v20130327-1440.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.200.v20140116-2212
-product
org.eclipse.epp.package.jee.product
--launcher.defaultAction
openFile
--launcher.XXMaxPermSize
256M
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
--launcher.appendVmargs
-vmargs
-Dosgi.requiredJavaVersion=1.6
-Xms40m
-Xmx512m
 

STS 초기 설정(STS.ini 수정)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 
plugins/org.eclipse.equinox.launcher_1.3.0.v20120522-1813.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.200.v20120913-144807
-product
org.springsource.sts.ide
--launcher.defaultAction
openFile
--launcher.XXMaxPermSize
256M
-vmargs
-Dosgi.requiredJavaVersion=1.6
-Xms40m
-Xmx768m
-XX:MaxPermSize=256m
-Dgrails.console.enable.interactive=false
-Dgrails.console.enable.terminal=false
-Djline.terminal=jline.UnsupportedTerminal
-Dgrails.console.class=grails.build.logging.GrailsEclipseConsole
 

변경사항

위 파일에서 vmargs 이하 부분을 아래와 같이 변경한다. 각 설정에 따른 설명은 아래쪽에 기재하였다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
-vmargs
-Dosgi.requiredJavaVersion=1.6
-Xverify:none
-XX:+UseParallelGC
-XX:+AggressiveOpts
-XX:-UseConcMarkSweepGC
-XX:PermSize=128M
-XX:MaxPermSize=128M
-XX:MaxNewSize=128M
-XX:NewSize=128M
-Xms512m
-Xmx512m
 

설명

  • Dosgi.requiredJavaVersion=1.6
    JDK 1.6 이상을 설치했을 경우에 1.6으로 설정하면 속도가 빨라진다.
  • Xverify:none
    클래스의 유효성을 검사 생략. (시작 시간이 줄어 빨라진다.)
    초기 시동시 verfify체크를 하지 않는다. 당연히 시동이 빨라진다. 플러그인의 features에 문제가 발생 할 수 있는데 플러그인에 변경 사항이 있을 경우에는 이걸 키고 시동하고, 별 문제 없으면 추가해서 사용한다.
  • XX:+UseParallelGC
    병렬 가비지 컬렉션 사용. (병렬 처리로 속도 향상)
    Parallel Collector를 사용 하도록 한다. 체감 속도가 올라간다. 다중 프로세서를 사용한다면 필수.
  • XX:+AggressiveOpts
    컴파일러의 소수점 최적화 기능을 작동시켜 빨라진다.
  • XX:-UseConcMarkSweepGC
    병행 mark-sweep GC 수행하여 이클립스 GUI의 응답을 빠르게한다.
  • XX:+CMSIncrementalMode=true
    점진적인 GC
  • XX:PermSize=128M
    Permanent Generation(영구 영역) 크기(Out Of Memory 에러시 크기 조절)
  • XX:MaxPermSize=128M
    최대 Permanent Generation 크기
  • XX:NewSize=128M
    New Generation(새 영역) 크기
  • XX:MaxNewSize=128M
    New Generation(새 영역) 의 최대 크기
  • Xms512m
    이클립스가 사용하는 최소 Heap 메모리
  • Xmx512m
    이클립스가 사용하는 최대 Heap 메모리
    최소와 최대를 같은 값으로 설정하면 오르락 내리락 하지않아 빨라진다.

[메모리 정의 예]
1기가 이하 메모리인 컴퓨터인 경우 : -Xms256m -Xmx256m
2기가 ~ 3기가 메모리인 컴퓨터 : -Xms512m -Xmx512m
4기가 이상 메모리인 컴퓨터 : -Xms1024m -Xmx1024m

[ 메모리 설명 ]
JVM 은 3가지 메모리 영역을 관리한다
1. Permanent(영구) 영역 : JVM 클래스와 메소드를 위한 공간. = PermSize 설정
2. New/Young 영역 : 새로 생성된 개체들을 위한 공간. = NewSize 설정
3. Old 영역 : 만들어진지 오래된 객체들의 공간.(New 영역에서 이동해 온다)

필수설정

파일 인코딩 변경

  • Window -> Preferences -> General -> Content Types
  • 메뉴에서 window-preference 선택 후 General->Workspace 에서 Text file encoding을 UTF-8로 변경
참고
  • http://fordev.tistory.com/79
  • http://dkatlf900.tistory.com/55

기타

컬러 테마 변경

eclipsecolorthemes.org

이클립스 실행시 이미지변경

1
2
3
4
 
-showsplash
image/tan_helios.bmp
 

메모리 보기

Window > Perference > General 에서 Show heap status 체크하면 오른쪽 하단에 메모리를 볼 수 있다. 사용하다가, 메모리가 많이 올라 갔다 싶거나, 느려졌다 싶을 때마다, 옆에 쓰레기통 아이콘을 눌러서 메모리를 줄인다. 그러면 좀 더 쾌적하게 작업을 할 수 있다.

  • 자동 가비지 컬렉션 플러그인 : http://gyuha.tistory.com/290

사용하지 않는 검사 제거

필요 이상으로 많은 검사를 많이 해서 느려지는 경우도 많다. HTML이나 그 외 등등의 검사도 거기에 포함된다. 딱 필요한 검사만 하도록 한다.
Window > Perferences > Validation에서 자기가 사용하는 옵션만 켜둔다.

영어스펠링 검사 끄기
Window > Prereces > General > Editors > Spellings에서 Enable spell checking

기능 Disable / 습관 바꾸기

코딩하는 공간에서 잘 사용하지 않거나, 있는둥 마는둥 하는 기능을 꺼준다.

Automatic folding 끄기

코드 옆에 더하기 표시 나와서, 코드를 펼쳤다.. 닫았다 하는 기능이다.
Window->Preferences->Java(또는 사용언어)->Editor->Folding 모든 옵션을 해제(disable)한다.

Automatic Code Insight 끄기

Window->Preferences->Java(또는 해당언어)->Editor->Code Assist 에서 Enable auto activation 항목을 해제(disable)한다. 자동으로 동작하는 code assist 기능은 꺼지지만, ctrl+space으로 여전히 code assist를 사용할 수 있다. 손이 좀 불편하면 이클립스가 빨라진다. 하지만 대장은 이거 없인 못 살아서 켜놓았다.

사용하지 않는 플러그인 삭제 하기

이클립스를 패키지로 설치하다 보면, 사용하지 않는 기능도 많이 들어 가게 된다. 그 중에서 사용하지 않는 플러그인은 삭제하도록 한다.

사용하지 않는 프로젝트 닫아주기

현재 작업과 관련없는 프로젝트를 닫자. 이클립스가 접근하는 파일의 갯수를 줄여준다.

사용하지 않는 파일은 닫아주기

작업하다가 사용하지 않는 창은 닫는다. 메모리가 절약된다. 이클립스를 종료시 편집하던 문서를 모두 닫고 종료하면 다음에 이클립스를 띄울때 좀 더 가볍게 띄울 수 있다. 그리고 Window->Preferences->General->Editors에서 Close editors automatically를 켜준다. 그럼 아래 설정된 숫자만큼만 문서가 열린다. 그 이상의 문서는 자동으로 닫아진다. 이렇게 사용하면, 무심결에 많이 열린 파일이 적어진다. 메모리 절약은 보너스!

사용하지 않는 플러그인을 start list에서 제외하기

Window > Preferences > General > Startup and Shutdown에서, 불필요한 플러그인을 startup list에서 제외한다. 이렇게 하면 이클립스 실행시 좀 더 가볍게 실행 할 수 있다.

참고
  • http://yun0223.tistory.com/42

기본 Preferences 최적화

  • 4.2(Juno)일 경우 Preferences → General → Appearance
    • Theme을 Classic으로 변경해야 빨라진다.
    • Enabled animations를 끈다.
  • Preferences → General : Show Heap status : 메모리 사용상태와 GC 강제 실행 버튼를 보여줌.
  • Preferences → General → Editors → Text Editors : Show line numbers
  • Preferences → General → Appearance → Colors and Fonts : Basic Text Font를 나눔고딕코딩 혹은 그 외 코딩용 글꼴로 변경한다. 코딩용 글꼴은 고정폭이고 숫자 1,대문자 아이(I), 소문자엘(l), 숫자 0과 알파벳 오(O)를 구분 할 수 있어야 한다.
  • Preferences → General → Editors → Text Editors에서 배경색 눈 안아픈 회색 톤으로 조정
  • Preferences → General → Workspace에서 Text file encoding과 New text file delimiter의 기본 값을 정해준다.
  • Maven과 연동해서 사용할 경우, Maven 빌드에서 생성한 target 디렉토리의 JSP/HTML 등을 Eclipse가 Validation하느라 상당한 시간을 소모하기도 한다. 이 때는 Preferences → Validation → 각 항목에서 Exclude Gruop을 만들고 target/ 디렉토리를 Rule로 추가한다.
  • Preferences → Team → Ignored Resources에 target과 bin 등의 빌드 디렉토리 추가.
  • Windows 환경 성능 최적화
    • 프로젝트 폴더의 속성 → 일반 → 고급 : 이 폴더의 파일 속성 및 내용 색인 허용 체크 해제
    • 백신 프로그램의 실시간 감시에서 프로젝트 폴더를 예외로 설정한다.(파일 락을 거는 현상도 줄어들겠지?)
  • 기타 최적화
    • spell check 해제 : Preferences → General → Editors → Text Editors → Spelling에서 체크 해제.
    • Validation에서 build 쪽은 꼭 필요한 것만 남기고 모두 해제
    • General → Appearance → Label Decorations에서 SVN/CVS 및 기타 등등의 데코레이션 제거.
  • DIFF에서 공백 무시 Preferences → General → Compare/Patch에서 Ignore white space 체크
  • 저장시 액션 지정 : 이클립스 파일 저장시 공백 없애기
    • Preferences → Java → Editor → Save Actions 에서 저장시 액션들을 지정한다.
    • Remove Trailing whitespace 선택
    • Remove unused imports 선택
참고
  • http://kwonnam.pe.kr/wiki/eclipse/config
  • http://blog.naver.com/sungback/90139189173

탭 사이즈 변경

  • http://jedagi.tistory.com/30

자동줄바꿈(word wrap)

  • http://blackun.egloos.com/5179984
  • http://ahtik.com/eclipse-update/

참고

  • http://blog.naver.com/PostView.nhn?blogId=sungback&logNo=90097516641
  • http://thdnf1004.tistory.com/8
  • http://yun0223.tistory.com/42
  • http://gyuha.tistory.com/290
  • http://blog.bagesoft.com/443
  • http://www.slipp.net/wiki/pages/viewpage.action?pageId=5177633
  • http://kwonnam.pe.kr/wiki/eclipse/config
  • http://blog.naver.com/sungback/90139189173
  • http://eclipsecolorthemes.org/
이올린에 북마크하기
TAG eclipse, 이클립스
No received trackback. / No comment.

Trackback Address :: http://viper150.cafe24.com/trackback/265

You can also say.

이클립스로 개발시 WebContent 디렉토리의 설정

웹 프로그래밍
2015/07/23 12:01
 

톰캣의 디렉토리 구조
Apache Tomcat를 설치해서 이클립스 없이 (에디트 플러스나 울트라 에디트등을 사용하여) 개발시 톰켓 안에서 웹 프로그램(JSP소스)들이 위치하는 경로는 기본적으로 /톰캣설치경로/webapps 디렉토리 입니다. 이 디렉토리안에 있는 ROOT라는 경로가 http://localhost:기본포트(8080) 의 주소와 맵핑됩니다.

예를 들어서 /Applications/Apache Tomcar v7.0/webapps/ROOT/helloJSP.jsp 라는 파일이 존재한다면 이 파일에 대해서 웹상에서 접근하기 위한 주소는 http://localhost:8080/helloJSP.jsp 경로가 됩니다.

만약 ROOT디렉토리 햐위에 다른 디렉토리가 존재한다면 웹 주소에서는 슬래쉬(/)로 구분하여 디렉토리 이름을 명시해 주면 됩니다.

다시 한번 예를 들어본다면 /Applications/Apache Tomcat v7.0/webapps/ROOT/HelloJSP/index.jsp라는 파일이 있을 경우 이 파일에 대한 웹상에서의 접근 주소는 http://localhost:8080/HelloJSP/index.jsp 가 됩니다.

다른 경우도 있습니다. /톰캣설치경로/webapps/MyApp/index.jsp 상에 위치한 파일도 웹에서 접근할 때는http://localhost:8080/MyApp/index.jsp 의 주소가 됩니다.

디렉토리와 주소간의 관계를 정리한다면 다음의 표와 같습니다.

실제 디렉토리 웹 접근 경로
톰캣 설치 경로/webapps/ROOT  http://localhost:8080
톰캣 설치 경로/webapps/ROOT/myapp  http://localhost:8080/myapp
톰켓 설치 경로/webapps/myapp  http://localhost:8080/myapp
톰켓 설치 경로/webapps/ROOT/myapp/test http://localhost:8080/myapp/test
톰켓 설치 경로/webapps/myapp/test http://localhost:8080/myapp/test

위의 표를 보면 두번째 경우와 세번째 경우의 웹 접근 경로가 같은 것을 확인할 수 있습니다.

톰캣은 웹 주소상에서 포트번호 뒤에 특정 디렉토리의 이름이 주어지면 우선 /webapps 디렉토리 안에 동일한 이름의 폴더가 존재하는지 찾습니다. 만약 없다면 ROOT 디렉토리 안에 동일한 이름의 폴더가 있는지를 찾습니다.

webapps 디렉토리 안의 디렉토리들은 모두 Context라고 불리는 단위로서 각각 독립적인 웹 어플리케이션 단위입니다. 이 Context 안에 위치하는 디렉토리들은 단순한 디렉토리 입니다.


이클립스를 통한 프로젝트의 디렉토리 구조
앞에서 살펴본 바로면 Context로 지정된 디렉토리 안에 위치한 JSP파일들이 웹 브라우저상에 노출이 됩니다. 하지만 이클립스를 통해서 프로젝트를 진행하게 되면 Context로 지정된 디렉토리 안에 특수한 디렉토리가 하나 더 생성되는 것을 볼 수 있습니다.

바로 WebContent라는 디렉토리입니다. 이클립스를 통해서 프로젝트를 진행하게 되면 이 디렉토리안에 JSP나 HTML파일들이 위치하게 됩니다.


문제는 이클립스의 Run버튼을 통해서 웹 어플리케이션을 실행하게 되면 실제 웹 브라우저에 노출되는 경로는 이 WebContent라는 디렉토리를 숨긴다는 점입니다.

예를 들어서 /톰캣디렉토리/webapps/HelloJSP/WebContent/index.jsp 라는 파일이 있을 경우 이 파일이 이클립스를 통해서 실행하게 되면 http://localhost:8080/HelloJSP/index.jsp 라는 주소로 실행이 되게 됩니다.

하지만 이클립스를 통해서가 아니라 그냥 톰캣만을 단독으로 구동시켜서 프로그램을 실행시켜 보면 WebContent라는 디렉토리가 숨겨지지 않게 됩니다. 즉 http://localhost:8080/HelloJSP/WebContent/index.jsp 의 경로로 실행이 되게 됩니다.

이런 현상은 이클립스가 톰켓을 구동할 때, 특정한 환경설정값을 지정하여 주기 때문입니다.
이클립스를 통한 실행이 아니라 직접 톰캣을 통하여 실행할 때는 무척 번거로운 작업이 됩니다.

이클립스상에서의 실행과 톰캣상에서의 직접 실행을 모두 동일하게 통일하기 위해서는 톰캣에 이클립스와 동일한 환경설정을 추가해 주면 됩니다.

톰캣이 설치된 디렉토리 안의 conf 디렉토리를 확인하면 server.xml파일이 있습니다. 이 파일을 텍스트 에디터로 엽니다.

server.xml 파일의 스크롤을 맨 아래로 내리면 다음과 같은 부분이 있습니다.
view plaincopy to clipboardprint?
        <!-- Access log processes all example. 
             Documentation at: /docs/config/valve.html 
             Note: The pattern used is equivalent to using pattern="common" --> 
        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" 
               prefix="localhost_access_log." suffix=".txt" 
               pattern="%h %l %u %t &quot;%r&quot; %s %b" /> 
                
      </Host> 
    </Engine> 
  </Service> 
</Server> 

이 파일의 끝에서 다섯번째 라인인 </Host>전 라인에 다음의 XML 구문을 추가합니다.
<Context path="/프로젝트명" docBase="프로젝트명/WebContent" reloadable="true"></Context>

새로운 구문이 추가된 후에는 톰캣을 재실행 합니다. HelloJSP라는 프로젝트에 대한 새로운 구문이 추가된 server.xml의 내용은 아래와 같습니다.
view plaincopy to clipboardprint?
        <!-- Access log processes all example. 
             Documentation at: /docs/config/valve.html 
             Note: The pattern used is equivalent to using pattern="common" --> 
        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" 
               prefix="localhost_access_log." suffix=".txt" 
               pattern="%h %l %u %t &quot;%r&quot; %s %b" /> 
                
        <Context path="/HelloJSP" docBase="HelloJSP/WebContent" reloadable="true"></Context> 
      </Host> 
    </Engine> 
  </Service> 
</Server> 

이 설정은 이클립스에 프로젝트가 추가될 때마다 넣어주어야 합니다.

이렇게 구문을 추가해 주고 난 후에는 이클립스를 통해서 프로젝트를 실행했을 경우와 이클립스 없이 직접 톰캣을 실행해서 접근한 경우 모두 동일한 경로로 웹 브라우저를 통해서 결과를 확인할 수 있습니다.

WebContent 디렉토리는 웹 URL상에 숨겨지게 됩니다.

이제... 즐깁시다~!!!
[출처] [JSP] 이클립스로 개발시 WebContent 디렉토리의 설정|작성자 빽몽끼

이올린에 북마크하기
TAG ROOT, 루트디렉토리, 이클립스, 이클립스 루트, 이클립스 루트 디렉토리, 톰켓
No received trackback. / No comment.

Trackback Address :: http://viper150.cafe24.com/trackback/257

You can also say.

Prev 1 Next
블로그 이미지
이것저것 불펌금지도 퍼다가 담습니다. 외부에 비공개된 페이지 입니다. By. 어른왕자

카테고리

  • 전체 (298)
    • 사는 이야기 (115)
    • 웹 프로그래밍 (102)
    • App 프로그래밍 (22)
    • IT 뉴스&기타 (22)
    • 박한별 (4)
    • 역사&기타지식 (9)

태그목록

  • 삼성
  • svn connector
  • 히든메뉴
  • 크론탭
  • 건강보험
  • substring
  • 해킹흔적검색
  • 스파이
  • 놀람
  • MenuBar
  • 다이알로그
  • 전산직
  • 소시
  • 장애인
  • iops
  • 2d
  • 625
  • 오지호
  • XSS
  • Ultraedit
  • 의료기기
  • java api
  • 굴욕
  • ftp
  • sbs
  • C
  • 저장프로시저
  • CRC32
  • 금속
  • 스프링 인증

최근에 올라온 글

  • 보험사의 조정신청 대응방법.
  • 어느 천재의 앞선 시선.
  • [병맛더빙] 누구게..... (1)
  • 韓경제 `회색 코뿔소` 상황...
  • SVN Connector 설치 URL.
  • 군대를 가지 않는 서울대생.
  • “운은 하늘의 귀여움 받는...
  • 목장에서 알바하다가 캐스...
  • [펌]믿고 거르는 관상.
  • 하루에 1세트씩 하면 좋다...

최근에 달린 댓글

  • <p><img src="https://i.imgur... 덤프 01/13
  • <p><img src="https://i.imgur... 덤프 01/13
  • <p><img src="https://i.imgur... 덤프 01/13
  • <p><img src="https://i.imgur... 덤프 01/13
  • <p><img src="https://i.imgur... 덤프 01/13

최근에 받은 트랙백

  • công ty may đồng phục. công ty may đồng phục 01/08
  • Israelnightclub`s recent blo... Israelnightclub`s recent blo.. 01/06
  • Suggested Browsing. Suggested Browsing 01/06
  • similar site. similar site 01/06
  • לאתר הבית שלנו. לאתר הבית שלנו 01/06

글 보관함

  • 2019/03 (1)
  • 2018/12 (1)
  • 2018/09 (1)
  • 2018/08 (1)
  • 2018/02 (1)

달력

«   2021/01   »
일 월 화 수 목 금 토
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31            

링크

  • Total : 261649
  • Today : 24
  • Yesterday : 41
Tattertools
Eolin
rss

어른왕자's blog is powered byTattertools1.1.2.2 : Animato