Raible's Wiki

Raible Designs
Wiki Home
News
Recent Changes

AppFuse

Homepage
  - Korean
  - Chinese
  - Italian
  - Japanese

QuickStart Guide
  - Chinese
  - French
  - German
  - Italian
  - Korean
  - Portuguese
  - Spanish
  - Japanese

User Guide
  - Korean
  - Chinese

Tutorials
  - Chinese
  - German
  - Italian
  - Korean
  - Portuguese
  - Spanish

FAQ
  - Korean

Latest Downloads

Other Applications

Struts Resume
Security Example
Struts Menu

Set your name in
UserPreferences

Edit this page


Referenced by
AppFuseSupport_ko




JSPWiki v2.2.33

[RSS]


Hide Menu

AppFuseEclipse_ko


AppFuse, 디폴트로, Eclipse 프로젝트가 되도록 설정되었다. 당신이 새로운 프로젝트를 생성하기 위해 ant new를 수행할 때, 당신은 프로젝트를 시작하기 위한 .project와 .classpath파일을 얻게 될 것이다. 어쨌든, 당신은 Eclipse내 몇몇 쉬운 셋팅을 할 필요가 있을것이다. 이 튜토리얼은 당신에게 AppFuse프로젝트를 개발하기 위해 Eclipse를 셋업하는 방법을 보여준다.

일반적으로, 나는 Eclipse를 사용하지 않고 이쁜 텍스트 편집기를 사용한다. 나는 명령창으로부터 컴파일, 테스팅, 개발을 수행한다. 이것은 빌드와 테스팅을 위해 Eclipse를 좀더 쉽게 사용하도록 만든 하우투 문서이다. 하지만, 이것이 당신에게는 작동하지 않는다면, 가장 좋은것은 Ant작업을 수행하기 위해 명령창을 사용하는 것이다. 물론, 당신이 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를 사용하는 것을 꺼리지 않는다면 시스템은 잘 작동할것이다.

목차

  • [1] Eclipse내 새로운 프로젝트 생성하기
  • [2] Eclipse내 Ant설정하기
  • [3] Ant View에 build.xml추가하기
  • [4] Ant 실행하기
  • [5] Eclipse내 JUnit테스트 실행하기
  • [6] 디버깅과 UI편집을 위한 팁

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-runtime.png

Ant View에 build.xml추가하기 [#3]

지금 우리는 Eclipse의 Ant View에 build.xml을 추가할 필요가 있다. 이것을 하기 위해, Window → Show View → Ant로 이동하자. AppFuse의 빌드 파일을 추가하기 위해 이 view의 첫번째 아이콘을 클릭한다.

ant-view.png

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를 추가했다.

이 시점에, 당신은 아래의 스크린샷과 유사한 것을 봐야만 한다.

ant-targets.png

Eclipse내에서 JUnit 테스트 실행하기 [#5]

Eclipse에서 JUnit테스트를 실행하는 것도 가능하다. 하지만 수행하기 전에, 당신은 "war" target를 수행할 필요가 있다. 이 target가 수행된후, 당신의 프로젝트를 refresh하라. 당신이 위 작업을 성공적으로 수행한후에, Eclipse에서 당신이 수행하고 싶은 테스트(이를테면, UserDaoTest)를 열고 Run → Debug As → JUnit Test를 수행하라. 당신은 모든 테스트를 수행하기 전에 "db-load" target를 수행해야 할지도 모른다. 나는 각각의 레이어를 위해 Base*TestCase클래스내 다음의 메소드를 추가했지만, Test클래스내 모든 테스트를 수행하기전에 데이터베이스를 리로드하기 위해 DBUnit을 발생시켰다. 이것은 "test-all"의 수행시간을 감소시키기 위해 이것을 삭제한다.


    protected void setUp() throws Exception {
        DataSource ds = (DataSourcectx.getBean("dataSource");
        IDatabaseConnection conn = new DatabaseConnection(ds.getConnection());
        IDataSet dataSet = 
            new XmlDataSet(new FileInputStream("metadata/sql/sample-data.xml"));
        // clear table and insert only sample data
        DatabaseOperation.CLEAN_INSERT.execute(conn, dataSet);
        conn.close();
    }

만약 위 사항이 Eclipse에서 JUnit테스트를 수행하기 위해 작동하지 않는다면, 나는 명령창을 사용(예를 들면, ant test-dao -Dtestcase=UserDAO)하길 제안한다. 명령창에서의 테스트 수행은 "언제나" 작동한다. ;-)

디버깅과 UI편집을 위한 팁 [#6]

디버깅을 위해, 나는 Eclipse에서 Tomcat Plugin을 사용하고 breakpoint를 셋팅한다. breakpoint를 만들기 위해 당신은 Eclipse메뉴인 Window->Preferences를 사용하고 Tomcat를 선택한뒤, Source Path를 선택하여 당신의 소스경로를 표시할 필요가 있을것이다.

최소한의 변경을 위해, 나는 단지 2초정도만 소요하는 "ant deploy-web"를 사용한다. 진짜로 미세한 변경을 위해서, 이것은 때때로 톰캣의 webapps폴더내 파일을 편집하는 것보다 쉽다. 가장 큰 디자인 변경을 위해서, 나는 언제나 애플리케이션을 실행하고, 페이지의 소스를 보며, 내 프로젝트와 같은 디렉토리내 "sandbox"폴더에 이것을 저장한다. 그리고나서 나는 검색/바꾸기를 수행하고 "/appfuse/"참조를 "../web/"로 변경한다. 이것은 나에게 CSS와 JS파일들을 변경하도록 허용하고 sandbox내 파일을 새로고침할수 있게 해준다.


Attachments:
ant-targets.png Info on ant-targets.png 28653 bytes
ant-runtime.png Info on ant-runtime.png 96096 bytes
ant-view.png Info on ant-view.png 6585 bytes


Go to top   Edit this page   More info...   Attach file...
This page last changed on 06-Nov-2006 13:53:00 MST by DongGukLee.