'웹개발(JSP&Servlet)/개발하면서GET'에 해당되는 글 57건

  1. 2009.12.01 Maven 리포팅 플러그인 추가시 FileNotFoundException
  2. 2009.11.27 Subversion의 권한 설정
  3. 2009.11.26 Eclipse 설치시 No repository found containing 오류
Cobertura, Checkstype, PMD, JDepend, FindBugs등의 소스 검사툴을 통하여 리포트를 생성할수 있다.

>mvn clean site

target 폴더가 만들어지고, 그안에 html파일로 리포트 파일이 생성되어야 하지만, 오류 발생.
apache\tomcat\annotations-api\6.0.16\annotations-api-6.0.16.jar
     [java] Exception in thread "main" java.io.FileNotFoundException: D:\MyDev\M
aven_example\mywebproject\and (지정된 파일을 찾을 수 없습니다)
     [java]     at java.util.zip.ZipFile.open(Native Method)
     [java]     at java.util.zip.ZipFile.<init>(ZipFile.java:203)
     [java]     at java.util.zip.ZipFile.<init>(ZipFile.java:234)
     [java]     at edu.umd.cs.findbugs.classfile.impl.ZipFileCodeBase.<init>(Zip
FileCodeBase.java:53)
     [java]     at edu.umd.cs.findbugs.classfile.impl.ZipCodeBaseFactory.countUs
ingZipFile(ZipCodeBaseFactory.java:92)
     [java]     at edu.umd.cs.findbugs.classfile.impl.ZipCodeBaseFactory.makeZip
CodeBase(ZipCodeBaseFactory.java:46)
     [java]     at edu.umd.cs.findbugs.classfile.impl.ClassFactory.createFilesys
temCodeBase(ClassFactory.java:97)
     [java]     at edu.umd.cs.findbugs.classfile.impl.FilesystemCodeBaseLocator.
openCodeBase(FilesystemCodeBaseLocator.java:75)
     [java]     at edu.umd.cs.findbugs.classfile.impl.ClassPathBuilder.processWo
rkList(ClassPathBuilder.java:564)
     [java]     at edu.umd.cs.findbugs.classfile.impl.ClassPathBuilder.build(Cla
ssPathBuilder.java:195)
     [java]     at edu.umd.cs.findbugs.FindBugs2.buildClassPath(FindBugs2.java:5
84)
     [java]     at edu.umd.cs.findbugs.FindBugs2.execute(FindBugs2.java:181)
     [java]     at edu.umd.cs.findbugs.FindBugs.runMain(FindBugs.java:348)
     [java]     at edu.umd.cs.findbugs.FindBugs2.main(FindBugs2.java:1057)
     [java] Java Result: 1
[Fatal Error] :-1:-1: Premature end of file.
Trace결과를 보면 Findbugs 구동시 발생한것 같은데 원인을 알수가 없음. 없다고 나온 파일을 임의로 생서해서 
넣어봤으나, 원하는 Zip 포맷이 아니라고 에러 발생.

잠시의 구글링 후 <version>태그를 추가하기로 함.
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>findbugs-maven-plugin</artifactId>
        <!-- 추가한 부분 --> 
<version>2.0.1</version>
</plugin>

추가후 다시 실행시, 오류없이 clean, 빌드 후 리포팅 결과 작성됨.
Posted by 영겁회귀
Apache 2.2.1과 SVN 1.6.5 로 구성한 Subversion Repository 를 구성하였다.
SVN서버와 Apache를 연동하여 http로 설정할수 있는데, 

http로 저장소에 접근이 가능하도록 Virtual Host를 설정한다.
<VirtualHost *:81>
<Location /svn>
DAV svn
SVNParentPath "D:\MyDev\Repository"
AuthzSVNAccessFile "D:\MyDev\Repository\authz"

AuthType Basic
AuthName "Subversion Repository"
AuthUserFile D:\MyDev\Repository\htpasswd
Require valid-user
</Location>
</VirtualHost>
저장소의 위치는 SVNParentPath (저장소의 상위 디렉토리)
저장소 접근에 대한 권한 설정 파일은 AuthzSVNAccessFile 에서
저장소 접근을 위한 인증 파일은 AuthUserFile에서 설정할수가 있다.

SVNParentPath는 저장소의 상위 디렉토리이고, 실제 저장소는 SVNParentPath\myproject일때
SVN접근을 위한 URL이 http://hostname/svn/myproject 로 생성된다. 

권한 설정파일 authz 파일은 
[groups]
developergroup = dev1, dev2, dev3

# [/foo/bar]
# dev1 = rw
# &joe = r
# * =

[mywebproject:/]
@developergroup=rw
*=r

1. [groups] 섹션으로 유저 목록을 정의한 특정 그룹을 만들수 있다.
2. 모든 권한을 가진 사용자는 $authenticated 토큰으로 지칭한다.
3. anonymous 사용자는 $anonymous 토큰으로 지칭한다.
4. 모든 사용자는 와일드카드(*)로 지칭할수 있다.
5. 읽기 권한은 'r' 로
6. 읽기+쓰기 권한은 'rw' 로 표시하며
7. 권한없음은 '' 로 표시힌다.
8. 설정한 그룹에 대한 접근 권한은 '@그룹명'으로 설정한다.

잘못된 권한 설정에 대한 결과는 Forbidden 404로 리턴된다.
Posted by 영겁회귀
Eclipse Ganymede SR2 버전 사용중, SVN플러그인 Subversive를 설치하는 도중 에러가 계속 발생하였다.

정상적인 플러그인의 설치는 Help > Software Updates 를 통해서 이루어 진다.

'Add Site'를 통하여 URL을 입력하고, 추가된 노드중에서 필요한 아이템만 선택해서
Install 을 하면 업데이트가 완료된다.

Finish하면 업데이트 다운로드 및 설치를 시작하여 완료된다.

하지만 다음과 같은 문제가 발생하는 경우가 있다.
URL이 잘못된 것도 아니고, 네트웍에 문자가 있는것도 아닌데, No repository found containing 이라고 플러그인 저장소를 찾지 못하는 에러가 발생한다. 

이럴때의 해결방안.
1. Available Software -> Manage Sites.. 로 가서, Export로 등록된 URL를 모두 XML로 내보낸다.
2. 텍스트 편집기로 XML파일을 열어, 업데이트 URL이 적힌 엘리먼트중에, URL 마지막에 /이 없는 URL들은 모두 /를 붙여준다.
3. 등록된 URL을 모두 삭제한다.
4. 수정한 XML파일을 import 하여 목록을 갱신해준다.

그림과 같은 http://download.eclipse.org/releases/ganymede -> http://download.eclipse.org/releases/ganymede/ 의 형식으로 빠진 것들을 수정해 주면 된다.


갱신된 URL목록으로는 업데이트가 성공적으로 이루어 진다.
기존에 등록된 URL외에 사용자가 추가하는 URL은 마지막에 /를 체크하고 있다.
Posted by 영겁회귀