Raible's Wiki
Raible Designs AppFuseHomepage- Korean - Chinese - Italian - Japanese QuickStart Guide User Guide Tutorials Other ApplicationsStruts ResumeSecurity Example Struts Menu
Set your name in
UserPreferences
Referenced by
JSPWiki v2.2.33
Hide Menu |
This is version 4.
It is not the current version, and thus it cannot be edited. AppFuse, 디폴트로, Eclipse 프로젝트가 되도록 설정되었다. 당신이 새로운 프로젝트를 생성하기 위해 ant new를 수행할 때, 당신은 프로젝트를 시작하기 위한 .project와 .classpath파일을 얻게 될 것이다. 어쨌든, 당신은 Eclipse내 몇몇 쉬운 셋팅을 할 필요가 있을것이다. 이 튜토리얼은 당신에게 AppFuse프로젝트를 개발하기 위해 Eclipse를 셋업하는 방법을 보여준다.
이 튜토리얼은 윈도우즈 XP와 Eclipse 3.0.1 그리고 어떠한 플랫폼에서도 잘 작동하도록 작성되었다. 당신은 Eclipse가 설치되어 있지 않다면, Eclipse 3.0.1 다운로드페이지에서 다운로드 가능하다. 나는 내가 생각하는 Eclipse용 플러그인 모음http://www.raibledesigns.com/page/rd/?anchor=eclipse_plugins_updated_for_31 No InterWiki reference defined in properties for Wiki called '내가 생각하는 Eclipse용 플러그인 모음http'!)이나 MyEclipse를 구매하길 추천한다. 내가 바라는 것은 MyEclipse/AppFuse프로젝트 생성을 사용하는 것이다. 하지만 이것은 AppFuse의 디렉토리 구조와 빌드 파일의 전체를 다시 쓰는것을 요구하고 나는 그런 시간이나 힘이 없다. 그 외에도, 당신이 Ant를 사용하는 것을 꺼리지 않는다면 시스템은 잘 작동할것이다. 목차
Eclipse내 새로운 프로젝트 생성하기 [#1]Eclipse를 열고 File → New → Project로 이동하라. "Java Project"를 선택하고 Next버튼을 누른다. Project Name 필드에 프로젝트 이름(이를테면, appfuse)을 기입하고 그 밑에 프로젝트가 생성될 디렉토리(이를테면, c:\source\appfuse)를 선택한다. 당신이 Java Perspective로 전환된다는 창을 본다면, Yes를 선택한다.당신이 만약 이 시점에 프로젝트 빌드를 시도한다면, 당신은 수많은 에러를 보게 될것이다. 대부분은 UserForm클래그가 없다는 사실을 포함한다. 이것은 AppFuse내 대부분의 ActionForms가 XDoclet를 가진 POJO로부터 생성되기 때문이다. XDoclet를 위한 모든 작업은 Ant build.xml파일에 설정되고 이것을 수행하기 위한 가장 간단한 방법은 ActionForms를 생성하기 위한 "ant gen-forms"를 실행하는 것이다. 만약 당신이 Ant 1.6.2+가 설치되어 있고 당신의 path경로에 추가되어있다면, 당신은 명령창으로부터 이것을 수행할수 있다. 다음 단계는 당신에게 AppFuse build.xml을 실행하기 위해 Eclipse를 설정하는 방법을 보여준다. 팁: 당신이 Eclipse의 Package Explorer에서 볼 JAR를 숨기기위한 방법이다.Eclipse내 Ant설정하기 [#2]AppFuse를 위해 Eclipse를 설정하는 가장 쉬운 방법은 당신의 하드 드라이브에 Ant를 설치(이를테면, c:\Tools\apache-ant-1.6.2)하고 Eclipse의 ANT_HOME를 그 디렉토리를 가리키도록 하는 것이다. 이것을 하기 위해, Window → Preferences → Ant → Runtime 로 이동하자. "Ant Home"버튼을 클릭하고 하드 드라이브의 설치 폴더를 선택하자. 만약 당신이 Eclipse의 내장된 Ant를 사용하고자 한다면, junit.jar를 classpath에 추가할 필요가 있을것이다. 이것을 하기 위해, Window → Preferences → Ant → Runtime 로 이동하자. "Add JARs"버튼을 클릭하고 appfuse/lib/junit3.8.1/lib/junit.jar로 부터 junit.jar파일을 선택하자. 당신의 workbench view로 돌아가기 전에 OK를 클릭하자. 다음. ant classpath에 catalina-ant.jar ($CATALINA_HOME/server/lib 로 부터)를 추가하자. 그리고 property탭에서 전역 프라퍼티 파일처럼 tomcatTasks.properties (lib/ant-contrib 안에)를 추가하자. 아래는 위 변경을 모두 한후에 당신의 Ant Runtime classpath가 어떻게 보이는지에 대한 스크린샷이다.
Ant View에 build.xml추가하기 [#3]지금 우리는 Eclipse의 Ant View에 build.xml을 추가할 필요가 있다. 이것을 하기 위해, Window → Show View → Ant로 이동하자. AppFuse의 빌드 파일을 추가하기 위해 이 view의 첫번째 아이콘을 클릭한다.
Ant 실행하기 [#4]build.xml을 추가한 후에, 당신은 Ant View에서 이것을 확장하고 어떠한 target도 수행할수 있다. 나는 초기 프로젝트로 전달된 테스트를 모두 확인하기 위해 "test-all"을 수행한다. 내가 종종 사용하는 target의 목록을 보기 위해서, AppFuse Ant Targets를 보라.지금 당신이 "compile" target를 수행하고 프로젝트를 다시읽기(project → Refresh 를 클릭하여)를 한다면, 당신은 "Problems"탭에서 어떠한 에러도 보지 못할것이다. 당신은 지금 컴파일을 하고 클래스를 생성할 수 있을것이다. 때때로 나의 import가 Eclipse내에서 정확하게 해석되지 않는다면, 나는 Eclipse에서 Project → Clean를 실행한다. NOTE: 만약 Ant의 내부 버전을 사용한다면, 당신은 아래와 같은 에러메시지를 보게 될지도 모른다.BUILD FAILED: C:\source\appfuse\build.xml:802: The following error occurred while executing this line: C:\source\appfuse\build.xml:780: The following error occurred while executing this line: java.lang.NoClassDefFoundError: org/apache/xml/serialize/OutputFormat 이것은 Xerces가 당신의 Ant classpath내 없기 때문에 발생한다[reference]. 나는 이것을 해결하기 위해 Eclipse의 Ant classpath에 xercesImpl.jar 와 xml-apis.jar를 추가했다. 이 시점에, 당신은 아래의 스크린샷과 유사한 것을 봐야만 한다.
Eclipse내에서 JUnit 테스트 실행하기 [#5]Eclipse에서 JUnit테스트를 실행하는 것도 가능하다. 하지만 수행하기 전에, 당신은 "war" target를 수행할 필요가 있다. 이 target가 수행된후, 당신의 프로젝트를 refresh하라.After you have successfully done so, in Eclipse open a test you'd like to run (i.e. UserDaoTest) and go to Run → Debug As → JUnit Test. Note that you may have to run the "db-load" target before you run your tests every so often. I did have the following method in the Base*TestCase class for each layer, but this caused DBUnit to reload the database before every test in a Test class. Removing it reduces the execution time of "test-all" by more than 30 seconds.
If the instructions above don't work for running JUnit tests in Eclipse, I suggest just using the command line - i.e. ant test-dao -Dtestcase=UserDAO. Running tests from the command line always works. ;-) Tips for Debugging and UI Editing [#6]For debugging, I use the Tomcat Plugin in Eclipse and set breakpoints. To make the breakpoints work you will need to indicate your source-path using the Eclipse menu Window->Preferences, select Tomcat, then Source Path.For little changes, I use "ant deploy-web" which only takes a couple of seconds. For truly minor tweaks, it's sometimes easier to edit the file in Tomcat's webapps folder. For major design changes, I usually run the app, view source on a page and save it to a "sandbox" folder in the same directory as my project. Then I do a find/replace and change all "/appfuse/" references to "../web/". This allows me to change CSS and JS files and just refresh the file in the sandbox. Attachments:
|