'분류 전체보기'에 해당되는 글 265건

  1. 2009.11.21 links for 2009-11-20
  2. 2009.11.20 links for 2009-11-19
  3. 2009.11.15 links for 2009-11-14
  4. 2009.10.18 ibm javac의 오묘함
  5. 2009.10.18 ANT OS별 처리방법
  6. 2009.10.18 Groovy를 이용한 EA용 Addin 만들기
  7. 2009.06.05 links for 2009-06-04
  8. 2009.03.11 links for 2009-03-10
  9. 2009.03.11 daum 위젯
  10. 2009.03.10 links for 2009-03-09
2009. 11. 21. 10:00 SocialLinks
posted by smplnote
2009. 11. 20. 10:01 SocialLinks
posted by smplnote
2009. 11. 15. 10:01 SocialLinks
posted by smplnote
2009. 10. 18. 00:30 IT

 

AIX 장비에서 발견한 재미난 일.

 

"IBM java는 주석의 철자오류도 검사해준다?"

 

출처 : http://greatbeat.tistory.com/327

 

내가 돌려본 곳에서는 다음과 같은 메세지가 나왔다.

  1.  
  2. [javac] Compiling 108 source files to /home/ctip/workspace/*****/admin/was/WEB-INF/classes
    [javac] error: IO exception sun.io.MalformedInputException

 

주석도 제대로 작성해야 한다는 것을 시스템적으로 구현해준 멋진(...) 사례랍니다.

이 글은 스프링노트에서 작성되었습니다.

posted by smplnote
2009. 10. 18. 00:29 IT

 

최근 모 PJT에서 윈도우용으로 설정된 property와 빌드파일의 내용을 변경하지 않고

Unix(AIX)에서 사용할수 있도록 요청받은 일이 있었다.

 

통상의 대응방법은 Unix에서 사용하기 위해 별도의 빌드파일과 프로퍼티 파일을 생성하여 대응하는 편이었는데,

이런 방식의 단점은 관리대상이 늘어나고, 복잡도가 커지는 것이다.

 

그래서 ANT 나라 사람들은 어떻게 이문제를 해결하나 싶어 둘러보았다.

 

  1. os.name 값을 활용한다.
    http://java.sun.com/j2se/1.3/docs/api/java/lang/System.html#getProperties()
    예) <property file="${os.name}.properties"/>
    이경우 XP 는 "Windows XP" , AIX 는 "AIX" 로 출력된다. 
    더 상세한 내용은 아래를 참고바란다.
    http://mail-archives.apache.org/mod_mbox/ant-user/200401.mbox/<4015565A.2080009@corvil.com>
    아쉬운 점은 os.family 값은 존재하지 않는다는 것이다. 
    os.name 은 같은 윈도우라도 Windows XP, Windows 2000 등 공백을 포함한 각기 다른 OS명을 반환한다. 
  2. condition task를 이용하여 구별한다.
    예) <condition property="iswindows">       <os family="windows"/>    </condition>    <target name="windows.init" if="iswindows">
    http://ant.apache.org/manual/CoreTasks/condition.html
    이 방식을 사용할 경우의 문제점은 condition에 따라 특정 target에서 antcall을 하여 property를 os에 따라 setting 할 경우 변수값이 공유되지 않는 다는 것이다.
    아래와 같은 경우 window.properties 에 존재하는 변수들은 all target에서 인식되지 않는다. 
    <target name="window" if="iswindows">
       <antcall target="window.init"/>
    </target>
    <target name="window.init"/>
       <property file="window.properties"/>
    </target>
    <target name="all" depends="window"/>

 

그래서 해결한 방법은 다음과 같다.

<property file="${os.name}.properties"/> <!-- unix 환경 -->

<property file="default.properties"/> <!-- window 환경 -->

 

특정 OS환경에 따른 변수값을 먼저 설정하도록 지정한 것인데,

일반적인 통념과는 달리, ANT는 property에 값이 먼저 셋팅되면 다음에 무엇이 오더라도 변경이 되지 않는 것으로 보인다.

즉 default.properties 에 같은 이름의 변수가 있다 하더라도, 해당하는 {os.name}.properties 의 변수가 고정으로 사용된다는 것이다.

 

결과적으로 윈도우 개발자들은 항상 default.properties 를 탈 것이고,

Unix 환경에서는 Unix OS (AIX, Linux, HP-UX, SunOS ) 설정 파일이 지정한 값에 따라 선택 될 것이다.

 

그래서 문제 해결~~~ (이것때문에 몇시간 헤멨다.. )

 

 

 

이 글은 스프링노트에서 작성되었습니다.

posted by smplnote
2009. 10. 18. 00:27 IT

 

EA에서 제공하고 있는 JAVA Api를 사용하는 것 보다 이게 더 쉬워보인다... 

 

  1. Groovy Project 생성
  2. library 추가
    - groovy-all-1.6.1.jar
    - jacob-1.14.3-x86.dll
    - jacob-1.14.3.jar
    - scriptom-1.6.0.jar
    - EA.tlb
  3. scripting

    1. add import 
    1. import org.codehaus.groovy.scriptom.*;
    1. create activex object
    1. def ea = new ActiveXObject('EA.App')
    1.  repository file open
    1. def repo = ea.Repository
      repo.OpenFile(files)
    1. get package
    1. repo.Models.find{it.name==MODEL_NM_ANAL}.Packages.find{it.name=="Use Case Model"}.Packages.find{it.name=="Use Cases"}
    1. do something
    1. elem.Name = "trans word"
      elem.Update()

4. run environment setting
    1. set CLASSPATH
      set CLASSPATH=./bin-groovy;lib/jacob-1.14.3.jar;lib/scriptom-1.6.0.jar;lib/groovy-all-1.6.1.jar;./lib/jacob-1.14.3-x86.dll
    2. call java 
      java a.b.c.YourGroovyClass ... 

 

이 글은 스프링노트에서 작성되었습니다.

posted by smplnote
2009. 6. 5. 10:00 SocialLinks
posted by smplnote
2009. 3. 11. 10:00 SocialLinks
posted by smplnote
2009. 3. 11. 01:53 1300K
posted by smplnote
2009. 3. 10. 10:00 SocialLinks
posted by smplnote