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
* 로컬 테스트용으로만 한다.