블로그 이미지
올해목표 // 10월 어학연수 떠나자~ 자수씨

카테고리

전체글 (1457)
Brand New! (28)
주절주절 (213)
MOT (11)
해외쇼핑 (49)
쇼핑노트 (150)
취미생활 (94)
iPhone (4)
Eclipse (121)
Google (83)
Spring (31)
JAVA (176)
JavaScript (59)
WEB (49)
Database (20)
OS (26)
Tools (8)
Tips (26)
IT정보 (1)
Book (21)
Programming (37)
외부행사 (43)
주변인들 (17)
여행노트 (60)
학교생활 (30)
회사생활 (52)
사회생활 (5)
외국어공부 (12)
잡동사니 (30)
Total
Today
Yesterday
 
04-30 01:17
 

달력

« » 2024.4
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
 

최근에 올라온 글

최근에 달린 댓글


CAS Server를 설치하다가 문제에 봉착하였습니다.
회사 내에서 사용하기 위해 Internal Repository를 Sonatype Nexus 로 구성해 놓았는데, cas에서 설정된 사설 repository에 있는 jar를 받지 못하는 문제가 발생하였습니다.

현재 cas 에 잡혀있는 repository


에러를 보아하니 nexus에서 위의 repository에 접근하지 못하는 문제로 보였습니다.


 
 
회사로 복귀하니 포스팅 할 거리도 많아지고 포스팅 할 시간도 생기도 좋네요~ ㅋㅋㅋ


 

Posted by 자수씨
, |

회사에 복귀하자마자 당근아저씨의 마수에 걸려들어 Spring Security와 CAS 쪽을 보게 되었습니다.

CAS 홈페이지에서 최신버전(3.3.5)를 다운 받고 이클립스 프로젝트로 만든 후에 빌드를 하였더니...

Build errors for cas-server-3.3.5; org.apache.maven.lifecycle.LifecycleExecutionException: Invalid or missing parameters: [Mojo parameter [name: 'rules'; alias: 'null']] for mojo: org.apache.maven.plugins:maven-enforcer-plugin:1.0-beta-1:enforce

빌드 환경은 jdk1.6.0_17 에 maven 2.2.1 버전 이였습니다.

분명 어제 새벽에 집에서 확인할 때는 저 문제가 해결되었었는데...

다른게 있다면 maven 버전 차이였습니다. (2.2.0)

maven 2.2.0 버전을 다운 받아서 다시 설치해보니 위의 문제는 해결되었습니다.


이제는 maven test 중에 오류가 발생 ㅋㅋㅋ



Posted by 자수씨
, |

웹 프로젝트를 생성해서 메이븐 테스트를 돌리려하니 위와 같은 문제가 발생하였습니다.

해결책은 간단합니다.

Maven Dependencies 에 javax.servlet 을 추가해줍니다.

<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.4</version>
<scope>provided</scope>
</dependency>


끝~ ㅎㅎㅎ





Posted by 자수씨
, |

요즘에 만들고 있는 maven archetype에 iBatis를 넣을 일이 있어서 설정을 하다보니 sqlmap-config에 resource location이 들어가는 부분이 있는 것을 확인하였습니다.

<sqlMapConfig>

 

        <sqlMap resource="kr/co/vicki/gwt/portal/dao/mysql/sqlmap/Member.xml" />

 

</sqlMapConfig>


다른 파일들은 ${package} 라는 프로퍼티를 사용할 수 있는데, location 같은 '/' 로 구분자를 두는 부분을 어떻게 처리해야 할지 몰라서 고민하던 그때 ${packageInPathFormat} 라는 것을 발견할 수 있었습니다.

즉, groupId가 kr.co.vicki.gwt.portal 이라면
${package} = kr.co.vicki.gwt.portal
${packageInPathFormat} = kr/co/vicki/gwt/portal
으로 변환이 된다는 이야기입니다.

쉽게 해결할 수 있다는 생각에 마음의 안정을 찾고 만든 archetype을 가지고 새로운 프로젝트를 생성하는데 다음과 같은 경고메세지가 떨어졌습니다.
[WARNING] org.apache.velocity.runtime.exception.ReferenceException: reference : template = archetype-resources/src/main/webapp/WEB-INF/sqlmap-config.xml [line 11,column 27] : ${packageInPathFormat} is not a valid reference.

물론 결과는 이런식으로... 변환이 되지 않은 그대로의 sqlmap-config 가 나왔습니다.

<sqlMapConfig>

 

        <sqlMap resource="${packageInPathFormat}/dao/mysql/sqlmap/Member.xml" />

 

</sqlMapConfig>



maven source repository의 소스도 체크아웃 받아서 훑어보고, 구글을 찾아봐도 저 경고에 대한 답은 찾을 수 없었습니다.
머 찾은 것이라고는 위와 관련된 버그 리포팅을 정리한 페이지만 찾을 수 있었습니다.
(내용은 원래 잘 되던건데 왜 다시 reopen 했냐는 이야기만...)

구글과 구글코드 서치를 계속 뒤지던 중에 archetype 파일들 상단에 이상한 것들이 있는 것을 발견할 수 있었습니다.

#set( $symbol_pound = '#' )

#set( $symbol_dollar = '$' )

#set( $symbol_escape = '\' )



검색을 해보니 Velocity 문법이더군요... Maven이 Velocity를 사용한다는 것을 알게 되었습니다.
 Apache Velocity is an open source software project directed by the Apache Software Foundation. Velocity is a Java-based template engine that provides a simple yet powerful template language to reference objects defined in Java code. Its aim is to ensure clean separation between the presentation tier and business tiers in a Web application (see model-view-controller design pattern).

Wikipedia 에서는 Apache Velocity에 대해서 위와 같이 설명을 하는 군요. Java-based 라는 것을 발견하고, Velocity 문법을 살짝 본 후, 다음과 같이 설정을 하고 배포를 해보았습니다.

#set( $symbol_pound = '#' )

#set( $symbol_dollar = '$' )

#set( $symbol_escape = '\' )

#set( $packageInPathFormat = $package.replaceAll('\.', '/') )

<?xml version="1.0" encoding="UTF-8" ?>

<!DOCTYPE sqlMapConfig

    PUBLIC "-//ibatis.apache.org//DTD SQL Map Config 2.0//EN"

    "http://ibatis.apache.org/dtd/sql-map-config-2.dtd">

 

<sqlMapConfig>

 

        <sqlMap resource="${packageInPathFormat}/dao/mysql/sqlmap/Member.xml" />

 

</sqlMapConfig>


다시 로컬 리포지토리에 install 하고, 새로운 프로젝트를 만들어서 확인해보니 원하는 결과를 확인할 수 있었습니다.


큼큼... 저만 저런 결과를 본 것 일까요... 구글에도 관련 내용이 거의 없는 걸 보아하니 영 깨름직합니다.
삽질한거 같아서...





Posted by 자수씨
, |

열심히 만들어댔던 maven-gwtext-archetype 을 외부로 배포가 가능해졌습니다.
그리하여 언제 어디서나 손쉽게 gwtext 프로젝트를 생성할 수 있습니다.

원격 리포지토리를 통해서 프로젝트 생성하기

mvn archetype:create -DarchetypeGroupId=kr.co.vicki.gwt -DarchetypeArtifactId=maven-gwtext-archetype -DarchetypeVersion=1.0.0.v20090216 -DremoteRepositories=http://db.skuniv.ac.kr/nexus/content/repositories/releases -DgroupId=myGroupId -DartifactId=myArtifactId

몇 가지 [WARNING] 이 발생하긴 하지만 정상적으로 프로젝트가 생성이 될 것입니다.

생성된 폴더(위의 명령 그대로 치게 되면 myArtifactId) 로 이동하여 아래 명령을 실행하여 GWT 에뮬레이터가 뜨는지를 확인합니다.

mvn com.totsp.gwt:maven-googlewebtoolkit2-plugin:gwt


생성된 프로젝트에 대한 설명은 조만간 시간이 날 때~~~


Posted by 자수씨
, |

지난번에 만들었던 archetype 을 deploy 를 못해서 고생했었는데 헛다리만 짚고 있던거였습니다.

기선님블로그를 보고 깨달음을 얻고서 배포에 성공하였습니다.

일단 자신의 LocalRepository 의 .settings.xml 을 수정해야 합니다.

<servers> tag

위와 같이 구성하는데, username 과 password 는 nexus 에서 설정한 배포유저의 설정값으로 각자 수정해야합니다.

<mirrors> tag

nexus 를 설치한 경로로 url 설정만 바꾸어주면 됩니다.

제가 실수했던 부분이 바로 mirror 로 설정했던 곳 (public group) 과 repository 를 착각하고 있었던 것이였습니다.
pom.xmldistributionManagement 설정을 mirror 설정으로 잡아서 재대로 안된 것이었습니다.

before pom.xml :: <distributionManagement>


after pom.xml :: <distributionManagement>



archetype 프로젝트 폴더에 가서 아래 명령을 실행합니다.
mvn deploy

[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 3 seconds
[INFO] Finished at: Thu Feb 26 17:07:57 KST 2009
[INFO] Final Memory: 9M/17M
[INFO] ------------------------------------------------------------------------

반가운 메시지와 함께 성공!!!!

아... 잘됩니다만 또 다른부분을 건들여놔서 그걸 또 해결해야 하네요...

이번에는 maven-archetype-webapp 쪽이 말썽~



Posted by 자수씨
, |

이제 콘솔창에서 많이 해봤으니 이클립스 플러그인으로 넘어갈때도 된 것 같아 플러그인을 설치하려고 합니다.

설치환경
ㅁ JDK: jdk1.6.0_11
ㅁ Eclipse: Version: 3.4.1 Build id: M20080911-1700


업데이트 주소인 http://m2eclipse.sonatype.org/update/ 로 있는 것들을 다 체크하니 호환성에 걸리는 군요...
아래와 같은 구성으로 설치를 합니다.


설치를 한 후에 이클립스를 재시작하면 기분나쁘게 콘솔창에 아래와 같이 뜹니다.


좀 기분이 이상해서 Java Bule 님의 블로그를 참조해서 수정하였습니다.
실행시킬 이클립스의 eclipse.ini 파일을 열어서 아래부분을 추가해줍니다.
-vm
[JDK 설치경로]\bin\javaw.exe

그런 후 이클립스를 다시 시작하면 됩니다.

Dependency Graph 마음에 드는군요~ 훗~ 이건 GMF 로 만든건가...





Posted by 자수씨
, |

어제 밤 11시에 갑자기 필받아서 시작된 maven-gwtext-archetype 을 완성하였습니다.
(물론 maven-googlewebtoolkit2-archetype 을 베끼긴 했지만 ㅋㅋㅋ)

하지만 써드파티 라이브러리를 어떻게 deploy 하는지를 못찾아서 대기중입니다.


maven 은 파면팔수록 정말 끝이없군뇨.... -_ㅡ;;;;



Posted by 자수씨
, |


자신이 만든 라이브러리나 Maven Repository 에 등록이 되지 않은 라이브러리를 등록하기 위해서는 다음과 같은 명령을 입력합니다.

mvn install:install-file -Dfile=<path-to-file> -DgroupId=<group-id> -DartifactId=<artifact-id> -Dversion=<version> -Dpackaging=<packaging>


만약 D:\extjs-2.0.2-for-gwt.jar 경로에 있는 파일을 아래와 같은 속성으로 등록한다면
  • groupId: com.extjs
  • artifactId: gwtext
  • version: 2.0.2
  • packaging: jar

아래와 같은 명령으로 실행합니다.

mvn install:install-file -Dfile=D:\extjs-2.0.2-for-gwt.jar -DgroupId=com.extjs -DartifactId=gwtext -Dversion=2.0.2 -Dpackaging=jar




참고자료
Guide to installing 3rd party JARs: http://maven.apache.org/guides/mini/guide-3rd-party-jars-local.html


Posted by 자수씨
, |

갑자기 일요일 밤에 필을 받아서 Maven GwtExt Archetype 을 만들기 위해서 작업을 진행하였습니다.
기존의 maven-googlewebtoolkit2-archetype 의 소스를 참조하고 maven document 를 참조해서 만들기 시작하였습니다.

archetype.xml 에 gwtext 에 쓰이는 리소스들을 넣고서 install 까지 마치고 새로운 프로젝트를 만드는데...
아래와 같은 오류가 떨어졌습니다.
[ERROR] ResourceManager.getResource() parse exception: org.apache.velocity.exception.ParseErrorException: Lexical error: org.apache.velocity.runtime.parser.TokenMgrError: Lexical error at line 7, column 567.  Encountered: <EOF> after : ""
[INFO] ------------------------------------------------------------------------
[ERROR] BUILD ERROR
[INFO] ------------------------------------------------------------------------
[INFO] Error creating from archetype

Embedded error: Error merging velocity templates
Lexical error: org.apache.velocity.runtime.parser.TokenMgrError: Lexical error at line 7, column 567.  Encountered: <EOF> after : ""

어찌저찌 찾아보니 http://jira.codehaus.org/browse/ARCHETYPE-19 이런 글이 있어서 <resource> 에 넣고 filtered 를 false로 준 후에 다시 해보았더니 잘 처리가 되었습니다.

근데 중요한건;;; gwtext 는 resource 로 처리하면 아니되고 source 쪽에 넣어야지 패키지경로에 맞게 배포가 되는데...
resource 에 넣었더니 그 경로 그대로 복사가 되네요.... <source> filtered 속성도 먹지도 않고...

별도의 gwtext resource 를 maven 으로 배포해서 써야 할 것 같습니다;;;



Posted by 자수씨
, |

글 보관함

최근에 받은 트랙백