everydayminder

learn something everyday

Archive for November 2011

hudson + maven + PMD plugin

leave a comment »

Hudson에 연결한 maven 프로젝트에 PMD 플러그인을 설정해 본다.

우선 프로젝트의 confiruation에서 Publish PMD analysis results를 체크한다.

그리고, 설정을 저장한 다음 Build Now 해보자.
변화가 없다.

pom.xml을 바꾸자.
dependency 부분에 pmd plugin 선언을 하고,

               
        
            org.apache.maven.plugins
            maven-pmd-plugin
        

reporting 부분에 pmd 관련 설정을 기록한다. 이 때, PMD에서 검사하는 ruleset도 함께 지정한다. 만약, annotation 등을 썼다면, jdk 버전이 문제가 될 수 있으므로,
configuration에 jdk 버전도 함께 명시하자.

        
        
            org.apache.maven.plugins
            maven-pmd-plugin
            
                utf-8
                1.6
                
                    /rulesets/basic.xml
                    /rulesets/unusedcode.xml
                    /rulesets/junit.xml
                
            
        

Build 옵션 중
Goals and options에 pmd:pmd를 추가로 적어주자.

이제 Build Now를 하고 결과를 보자.
정상적으로 실행되었다면,  다음과 같이 왼쪽 메뉴에 PMD 관련 메뉴가 추가된 것을 확인할 수 있다.

 
PMD Warnings를 클릭하면, 세부 사항이 나타난다.

 

Written by everydayminder

November 30, 2011 at 09:54

Posted in tools

Tagged with , ,

hudson + maven + findbugs

leave a comment »

Hudson에 설정한 maven 프로젝트에 findbugs를 설정하자.
pom.xml에 설정할 부분은 build와 reporting 두 곳이다.

               
        
            org.codehaus.mojo
            findbugs-maven-plugin
            
                
                    package
                    
                        check
                     
                
                           
        

<build><plugins> .. </plugins></build> 사이에 다음을 추가한다.

    
        
        
            org.codehaus.mojo
            findbugs-maven-plugin
        
    
  

그리고, 다음 부분을 추가하여, reporting 부분을 정의한다.
 
프로젝트 설정에서, FindBugs부분을 선택한다.

저장 후, 다시 Build Now를 해보자.
성공하면, FindBugs Warnings 메뉴가 나타난다.

 문제가 있는 클래스를 찾아가면, FindBugs가 개선 점을 알려준다.

 

Written by everydayminder

November 30, 2011 at 08:09

Posted in tools

Tagged with , ,

hudson + maven project 설정하기

leave a comment »

Hudson에 maven 프로젝트를 설정해 보고자 한다.
기존에 작성된 maven 프로젝트가 있다고 가정하자.

1. Hudson에 연동할 기존 maven 프로젝트 준비 또는 신규 maven 프로젝트 준비

 
즉, 이렇게 생겼다고 가정하자. pom.xml이 존재하는 maven 프로젝트 파일이다.
src 폴더에는 원본 소스파일과 함께 테스트 코드도 작성해 두었다. 

2. Hudson, 새 프로젝트 만들기

다음과 같이 새 프로젝트를 만든다. Maven 연계 프로젝트를 선택한다.
(물론, 이를 위해 Hudson – Maven 관련 플러그인이 설치되어 있어야 할 것이다.)
 

3. 소스 위치 지정하기
CVS, SVN, Git 등을 활용하여, 소스를 가져올 위치를 지정한다.

 위치를 지정하고, 필요하면 계정정보 설정까지 마친다.

주기적으로 build 필요성 여부를 검사하고, build 시키기 위해 trigger 옵션을 설정한다.

일단, 여기까지 하고 save하자.

프로젝트가 정상적으로 생성되었다면, 다음과 같이 나타날 것이다.

일단, Build Now를 클릭하고, 정상적으로 설정되었는지 검사하자.

테스트 코드까지 정상적으로 실행이 되었다면, 다음과 같이 나타날 것이다.

다음에는, hudson에서 사용하는 플러그인을 설정해 봐야겠다.

Written by everydayminder

November 29, 2011 at 10:56

Posted in tools

Tagged with , , ,

[hibernate] cannot simultaneously fetch multiple bags

leave a comment »

hibernate를 쓰는 도중, 이 에러가 나오는 경우가 있다.

model 객체 내에서 @OneToMany 표기하고 java.util.List를 사용할 때 일어날 수 있다.
이 경우, fetch 옵션을 LAZY(default)  가 아닌 다른 값으로 설정했는지 확인해 보자.
(내 경우, EAGER fetch 옵션을 LAZY로 바꾸어 해결)

자세한 설명 혹은 그 밖의 해결책은,
아래 블로그를 참조하면 더 좋은 정보를 얻을 수 있다.

http://jroller.com/eyallupu/entry/hibernate_exception_simultaneously_fetch_multiple

Written by everydayminder

November 16, 2011 at 00:23

Posted in tools

Tagged with , , ,