Poaching

- Generate struts-config.xml, spring.xml from java annotation. 아시다시피 webapp/build.xml을 ant로 build시키면 xdoclet를 이용해서 struts-config.xml, spring.xml를 생성합니다. 그런데 WSAD에서는 무슨 이유인지는 몰라도 build 시간이 너무 많이 걸립니다. 기가 찰 노릇입니다. 그래서 나온게 poaching입니다. 철저한 하드코딩에 의해서 struts-config.xml과 spring.xml를 만들어 줍니다. WSAD workspace를 뒤져서 Naming규칙을 준수하는 EJB, Action, Form에 대해서 struts-config.xml과 spring.xml를 만듭니다. Naming 규칙을 지키지 않는 Bean도 Spring 설정파일에 추가 가능하게 수정 되었습니다. 하나의 Java소스에 다중 action도 처리 가능하게 수정 되었습니다 - 2006/03/16. struts-config.xml에서 일부 /struts-config/form-bean/@name이 null로 나타나는 문제 수정 되었습니다. - 2006/06/30.
1. download한다. poaching.zip 2. 압축을 풀고 내용물을 확인한다. lib ejb.list.back extraAction.list poaching.bat poaching.jar poaching.list.back poaching.xml spring-config-header.txt struts-config-header.txt 3. poaching.bat 수정한다. 파일을 열어서 java -cp poaching.jar;lib/dom4j.jar xjavadoc.Poaching [WSAD workpace] Y N Y [WSAD workpace] 이 부분을 자신의 WSAD workspce경로로 수정한다. ex) java -cp poaching.jar;lib/dom4j.jar xjavadoc.Poaching D:\wsappdev51\workspace Y N Y ------------------------ 상세 옵션 설명 ---------------------------------------------- java -cp poaching.jar;lib/dom4j.jar xjavadoc.Poaching [workspace directory] [apply WEB-INF:Y/N] [remote:Y/N] [read applicaton.xml:Y/N] * [workspace directory] : WSAD workspace example) D:/wsappdev51/workspace * [apply WEB-INF:Y/N] : 실디렉터리에 반영여부 Y: 반영 N: 현재 디렉터리에 파일 생성 * [remote:Y/N] : remote EJB 여부 Y: remote EJB N: local EJB * read applicaton.xml : application.xml를 읽어서 사용되는 ejb만 config로 사용할지 여부 Y: 사용 N: 사용안함 --------------------------------------------------------------------------------------- 4. poaching.bat를 실행한다. Dos prompt에서 압축을 푼 디렉터리로 이동 후 poaching.bat를 실행한다. java는 최소 1.3.X 이상 버전이 깔려 있고 세팅이 되어 있다고 가정합니다. 5. 확인 [apply WEB-INF:Y/N]가 Y일때에는 /webapp/WebContent/WEB-INF 디렉터리에 struts-config.xml, spring.xml 파일이 만들어고 [apply WEB-INF:Y/N]가 N일때에는 현재 bat가 실행되는 디렉터리에 만들어 집니다.
* 일부 action, form를 사용하고 싶을 때 poaching.list.back를 poaching.list로 수정후 poaching.list에 [webapp/JavaSouce/com/programming2/form(action)/업무명패키지]에서 업무명에 해당되는 내용을 한줄씩 적어 줍니다. example) order * 일부 ejb만 사용하고 싶을 때 ejb.list.back를 ejb.list로 수정후 poaching.list에 workspace 하위에 있는 EJB 디렉터리명을 한줄씩 적어 줍니다. example) OrderMgr * Naming규칙을 준수하지 않은 Action 및 Spring Bean을 추가 하고 싶을때 extraAction.list에 추가하고 싶은 파일의 상위 디렉터리명을 WSAD workspace 디렉터리를 제외한 하위 디렉터리를 명을 한줄씩 적어 줍니다. example) /webapp/JavaSource/com/programming2/util/web * 로컬 테스트용으로만 한다.