PMD - Eclipse

IDE/Eclipse 2014. 6. 8. 16:01


정적 분석 도구 PMD

eclipse plugin 

http://sourceforge.net/projects/pmd/files/pmd-eclipse/update-site/

Posted by finewoo
,


맥에서 Eclipse를 이용해 javadoc 생성을 할때 오류 발생


javadoc unmappable character for encoding EUC_KR



기본적으로 맥에서 javadoc 생성시 한글인코딩을 사용하는 듯하다.

따라서, 터미널에서 javadoc 명령을 하는 경우는 명령어 옵션에 -encoding UTF-8 

이클립스에서는 Project > Generate Javadoc 창에서

VM options에서 명령어 옵션을 준다.

-encoding UTF-8 




Posted by finewoo
,

이클립스 헬리오스 다운로드

http://www.eclipse.org/downloads/

해마다 여름이면 이클립스의 새로운 버전이 출시된다. 올해도 어김없이 새로운 이클립스가 공개됐다. 세 번째 시리즈의 일곱 번째 버전인 2010년판 이클립스의 이름은 ‘태양신’이라는 뜻의 이클립스 헬리오스(Helios)다. 이클립스 헬리오스에 추가된 새로운 기능을 살펴보자.

이클립스 플랫폼의 새로운 기능
이클립스 헬리오스에서는 커맨드 라인에서 파일을 여는 기능이 추가됐다. 이클립스와 연결된 확장자를 가진 파일을 지정해 이클립스를 실행하거나, 이미 동작하는 이클립스에서 파일을 열 수 있다. 쉘을 많이 사용하는 리눅스 사용자라면 편리하게 활용할 수 있는 기능이다.

유닉스 파일 퍼미션을 설정할 수 있는 기능과 WebKitGTK+를 브라우저로 사용할 수 있는 것도 리눅스 환경 사용자들에게 도움이 될 것이다. 리소스 파일의 상대적인 위치를 지정할 수 있게 리소스 패스 변수를 도입한 것과 버추얼 폴더 지원은 프로젝트 구성을 보다 유연하게 만들 수 있도록 한다.

이클립스는 편리한 필터를 사용할 수 있는 곳이 많다. 선택할 항목의 목록이 길거나 복잡한 경우, 필터에 적절한 이름을 넣어서 빠르게 원하는 내용을 찾게 해준다. 이클립스 헬리오스에서는 이런 필터 방식이 더 확대돼 파일이나 리소스를 열 때도 사용할 수 있다. 필터의 대표적인 활용기능인 Ctrl-3 버튼의 퀵 액세스 기능에 단축키 검색도 추가됐다. 

이클립스는 강력한 플러그인 지원기능을 가지고 있어서 대부분의 개발자들이 많은 플러그인을 추가로 설치해서 사용하는데, 비록 새로운 기능의 설치과정은 간단하지만 이를 관리하거나 제거하는 것이 어렵고 불편했다. 새로운 이클립스 헬리오스는 설치된 기능과 변경될 설정 등을 관리하는 편리한 관리기능이 제공된다. 설치이력을 살펴보고 어떤 내용이 바뀌고 추가됐는지 비교할 수 있으며, 이를 제거하거나 이전 상태로 돌릴 수 있는 기능도 제공된다.

자바 개발 툴의 새로운 기능
이클립스는 범용적인 IDE로 사용될 수 있는 유연한 플랫폼이긴 하지만 가장 애용되는 분야는 역시 자바 개발이다. 이클립스의 자바 에디터는 편리한 퀵 픽스 기능을 제공한다. 이클립스 헬리오스에서는 이 퀵 픽스 기능을 한층 더 편리하게 사용할 수 있도록 확장됐다. 

기존에는 한 번에 하나의 문제만 해결할 수 있었는데, 이제는 유사한 문제라면 한 번에 여러 건을 처리할 수 있게됐다. 내비게이션 메뉴에 추가된 구현열기 기능도 유용하다. 인터페이스에서 구현 클래스로 바로 이동할 수 있는 기능이 추가됐다. 만약 단일 구현 클래스를 가지고 있다면 바로 이동하고, 두 개 이상의 구현 클래스가 있다면 팝업창에서 바로 선택할 수 있어 인터페이스를 많이 사용하는 DI 프레임워크 사용자들에게 매우 유용한 기능이다. '/' 대신 '/ *', '* /'를 사용한 코멘트를 선호하는 개발자를 위해서 여러 줄을 하나의 '/ *', '* /' 로 묶어주는 옵션도 추가됐다. 

이클립스의 장점인 리팩토링 기능도 보다 지능적으로 개선됐다. 가장 자주 사용되는 리팩토링 기능인 메소드 추출(Exract Method)에 continue가 포함된 코드를 사용할 수 있다. continue는 추출된 메소드에서 return문으로 대체된다.

패키지 이름의 약자를 사용할 수 있는 기능도 제공됐다. 패키지 이름이 너무 길어서 보기 불편했던 것을 간단한 약자로 정의해 간편하게 만들 수 있는 기능이다. 예를 들어 org.springframework로 시작하는 패키지들이 있다면 이를 [S]라는 약자로 만들어 보여줄 수 있다. 

egit/jgit의 추가
이클립스 헬리오스의 가장 눈에 띄는 변화는 바로 Git의 지원이다. 기존에 CVS와 Subversion만 지원하던 팀 기능이 이제는 Git으로 확장됐다. 이클립스의 기본 설치에는 포함되어있지 않지만, 헬리오스의 collaboration 패키지에 들어가면 Git의 자바 라이브러리인 jgit과 이클립스 플러그인인 egit을 설치할 수 있다. 이제 Git사용자들도 IDE내의 VCS지원기능의 혜택을 받을 수 있게 된 것이다. egit과 jgit은 매우 빠른 속도로 개발되고 있으니 자주 업데이트해서 새로운 버전이 나왔는지 확인해보는 것이 좋을 것이다.

이클립스 헬리오스에는 여기서 소개하지 않은 다른 많은 기능도 추가됐다. 보다 자세한 내용은 이클립스 Welcome 화면에 나오는 What’s New 메뉴를 통해서 살펴볼 수 있다.

[출처] 마이크로소프트
http://www.imaso.co.kr/?doc=bbs/gnuboard.php&bo_table=article&wr_id=35465

Posted by finewoo
,

이클립스 실행시 아래와 같은 오류를 만날때...

Eclipse Galieo



멀쩡히 실행되던 이클립스가 가끔 이런 오류를 띄우게 될때 해결방법으로 대표적으로 두가지가 있다.
대부분의 경우 두가지 방법으로 해결이 가능하다.

이클립스가 설치된 디렉토리내 eclipse.ini 파일을 편집한다.

1. 메모리 용량을 낮춘다


-startup
plugins/org.eclipse.equinox.launcher_1.0.201.R35x_v20090715.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.0.200.v20090519
-product
org.eclipse.epp.package.jee.product
--launcher.XXMaxPermSize
256M
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Xms40m
-Xmx512m    ==================> 256m


2. jdk 또는 jre 가 설치된 경로를 명시한다.

[중략]
-vm
D:\Java\jdk1.6.0_19\bin\javaw.exe
-vmargs
-Dosgi.requiredJavaVersion=1.5



Posted by finewoo
,

이클립스에서 *.properties 파일을 생성하면 기본 인코딩이 ISO-8859-1 형식으로 설정된다.
이는 규약때문이다. *.properties 파일은 원래 ISO-8859-1 로 저장되어야 한다.

따라서 한글 같은 경우에 유니코드 이스케이프 시퀀스를 이용해서 기록해야 한다.
그렇지 않으면 java.util.Properties 객체로 읽어올때 제대로 읽혀지지 않는다. 자바의 Properties 클래스를 이용하는 한
무조건 ISO-8859-1 인코딩으로만 인식하고 읽기 때문에 이문제는 피할 수는 없을것 같다.

모든 작업파일들의 기본 문자인코딩 설정에 대해 확인하고자 하면
이클립스의 Window -> Preferences
Content Types -> Text  트리 메뉴를 확인해 보면 Java, JSP 혹은 JavaScript 등 여러 파일형식을 확인할 수 있다.

위에서 한글같은 경우 유니코드 이스케이프 시퀀스를 이용해야 한다고 했는데
native2ascii 명령으로 iso-8859-1로 변환할 수 있다. 아래와 같은 방식이다.

개발 원본 파일 : example.properties-in 의
example.message       = 잘못된 값을 입력하셨습니다.

native2ascii example.properties-in >example.properties 실행하면

실제 설정 파일 : example.properties
example.message       = \si734\ubaf7 \ub53c\ubwr3\ub678\uc318\ub1b4 \.......................................


위의 방식도 가능하지만 매번 번거로운 작업이므로 실제 개발에서는 사실상 이클립스의 플러그인을 사용한다.
properties 파일 작성시, 변환을 자동으로 해주는 플러그인이 몇가지 있다.
eclipse properties 검색하면 여러 정보를 찾을 수 있을 것이다.

그중에 Propedit(http://propedit.sourceforge.jp/)가 비교적 많이 알려지고 사용되는 파일 인코딩 관련 플러그인이 있다.

- 플러그인 설치(Eclipse Galileo 기준)

1. Eclipse > Help > Install New Software 메뉴 선택
2. Add 클릭 > 주소창에 http://propedit.sourceforge.jp/eclipse/updates/ 를 입력 후 추가.
3. 목록에서 PropertiesEditor를 선택하고 설치.

설치가 완료되고 Properties 파일을 열면 파일탭에 P라는 아이콘이 나타난다.
이제 Properties 파일에 한글을 입력할수가 있게된다.
파일 저장시 자동으로 변환해 주는데 사용자에게는 한글로 변환해서 보여주며. 실제 소스에는 iso-8859형식으로 저장된다.



Posted by finewoo
,

이클립스에서 패키지명이나 클래스 파일을 Refactor시에 경고창에 아래 문구가 포함되는 경우

... class file name must end with .class


에러 메시지와 위의 경고창이 뜨는 경우 해결법

이클립스가 열려있는 경우 먼저 이클립스를 닫는다.
작업디렉토리의 workspace\.metadata\.plugins\org.eclipse.jdt.core 경로로 이동한다.
디렉토리내 모든 *.index 파일과 savedIndexNames.txt 파일을 삭제한다.
이클립스를 재시작 한다.

리팩토링 작업이 정상적으로 이루어진다. --;






Posted by finewoo
,

프로젝트의 버전관리 도구로 CVS 와 Subversion이 가장 많이 사용된다.
하지만 CVS의 단점을 개선한 Subversion이 점차 많이 사용되고 있다.


* subversion의 특징

- 파일명 변경이 히스토리에 남는다.(CVS는 기존 파일을 삭제한 것으로 간주해버린다)
- 원자적 커밋(모든 파일이 커밋되면 되는거고 아니면 모두 롤백)
- 커밋 단위별 버저닝.(CVS는 각 파일별로 버전을 메기지만 SVN은 커밋단위로 버전을 메기기 때문에, 직전 커밋상태로
  모든 파일을 되돌리는 것이 가능하다)


http://subversion.tigris.org/ (subversion 공식 홈페이지)

http://subclipse.tigris.org/ (subclipse 홈페이지)
http://tortoisesvn.sourceforge.net/


이클립스 플러그인 설치 방법

원문 : http://subclipse.tigris.org/servlets/ProjectProcess?pageID=p4wYuA

 
 
Eclipse 3.2/Callisto, 3.3/Europa, 3.4/Ganymede, 3.5/Galileo +
Subclipse 1.6.5 and 1.4.8 are now available for Eclipse 3.2+!

See the changelog for details. Existing Subclipse users should read the upgrade instructions for important information on changes you to need to make to your Eclipse preferences to see the new version in the update manager.

Subclipse 1.4.x includes and requires Subversion 1.5.x client features and working copy format.

Subclipse 1.6.x includes and requires Subversion 1.6.x client features and working copy format.


Links for 1.6.x Release:
Changelog: http://subclipse.tigris.org/subclipse_1.6.x/changes.html
Eclipse update site URL: http://subclipse.tigris.org/update_1.6.x
Zipped downloads: http://subclipse.tigris.org/servlets/ProjectDocumentList?folderID=2240


 
Install Subclipse in Eclipse 3.x

 

Step 1:

Begin the installation from the Eclipse Help menu item.

Step 2:

This screenshot show the screen as it initially comes up.

In this case you will need to change the radio button to indicate that this is a new install.

Step 3:

This screen will vary depending on the features you have installed already.

You want to click on the New Remote Site button.

If you are behind a proxy and the Eclipse install mechanism does not work, then you can download a zipped version of the update site and then click the New Local Site button instead.

Step 4:

This screen is showing the New Remote Site dialog, filled in with the correct information to install Subclipse

    Name: Subclipse 1.6.x (Eclipse 3.2+)
    URL:  http://subclipse.tigris.org/update_1.6.x
    Name: Subclipse 1.4.x (Eclipse 3.2+)
    URL:  http://subclipse.tigris.org/update_1.4.x
    Name: Subclipse 1.2.x (Eclipse 3.2+)
    URL:  http://subclipse.tigris.org/update_1.2.x
    Name: Subclipse 1.0.x (Eclipse 3.0/3.1)
    URL:  http://subclipse.tigris.org/update_1.0.x

Step 5:
When you first come back to this screen, the site you added will NOT be selected.
Be sure to select it before clicking Next.
Step 6: This next screen shows all of the features that are available to install.
Step 7: Click the button to accept the license agreement.
Step 8: Confirm the install location
Step 9:
There is an Eclipse preference to turn off this next dialog.
I have never seen a signed feature. Not even Eclipse.org nor IBM sign their features.
Step 10: Just a screenshot of the in-process installation.
Step 11: Eclipse needs to be restarted after installing Subclipse.
Step 12:
Finally, after restarting Eclipse,
the first thing you will typically want to do is open the Subclipse Repository perspective
where you can define your repositories.
Be sure to also check the online help
as well as the Subclipse preferences located under Team -> SVN.




..

Posted by finewoo
,