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
AppFuseQuickStart_ko




JSPWiki v2.2.33

[RSS]


Hide Menu

AppFuse2QuickStart_ko


AppFuse QuickStart

AppFuse 2.x를 사용해서 자바 EE 애플리케이션을 개발하고자 한다면, 다음의 지시사항을 따라주세요.

목차

  1. 새 프로젝트를 만든다. [1]
  2. 새 프로젝트를 구동 시킨다. [2]
  3. 즐겨라. [3]

새 프로젝트를 만든다 [#1]

  1. JDK 5+ 를 Download 하고 설치 한다.
  2. MySQL 5.x 를 Download 하고 설치 한다.
  3. 로컬(자신의 컴퓨터)에 SMTP server 를 셋업 하거나 다른 hostname(기본적으로 localhost 로 설정되어있다) 을 사용하려면 mail.properties (src/main/resources 안에 있는) 를 수정한다.
  4. Maven 2.0.6 을 Download 하고 install 한다. 만약 command-line 보다는 Eclipse 에서 프로젝트를 만들길 원한다면 Candy for AppFuse 검토해 보도록 하라.
  5. AppFuse 는 몇몇 다른 특징을 가지고 나왔다. 사용자로서의 여러분의 경험을 최적화하고 심플하게 하기 위하여, 우리는 다수 다른 프로젝트 archetype(starter project) 들을 만들었다. 현재 'basic' 그리고 'modular' 두가지 타입의 AppFuse archtype 이 있다. basic archetype 들은 웹 어플리케이션으로만 제공되어질 프로젝트를 만들때 이상적이다. "core" 와 "web" 모듈로 이루어져 있는 modular archtype 들은 재사용 가능한 백엔드를 필요로 하는 프로젝트를 만들때 이상적이다. 이러한 프로젝트를 만드는 명령의 리스트가 아래에 있다. 반드시 groupId 를 여러분의 package 명으로, artifactId 를 여러분의 프로젝트 이름으로 바꾸어야 한다. archetype 을 만들때 보게 되는 warning(경고) 메세지들은 예정된 메세지들이다. 만약 마지막에 BUILD SUCCESSFUL 메세지를 보게 된다면 프로젝트는 성공적으로 만들어 진것이다.

ArchetypeCommand
JSF Basicmvn archetype:create -DarchetypeGroupId=org.appfuse -DarchetypeArtifactId=appfuse-basic-jsf -DremoteRepositories=http://static.appfuse.org/repository -DarchetypeVersion=2.0-m5 -DgroupId=com.mycompany.app -DartifactId=myproject
Spring MVC Basicmvn archetype:create -DarchetypeGroupId=org.appfuse -DarchetypeArtifactId=appfuse-basic-spring -DremoteRepositories=http://static.appfuse.org/repository -DarchetypeVersion=2.0-m5 -DgroupId=com.mycompany.app -DartifactId=myproject
Struts 2 Basicmvn archetype:create -DarchetypeGroupId=org.appfuse -DarchetypeArtifactId=appfuse-basic-struts -DremoteRepositories=http://static.appfuse.org/repository -DarchetypeVersion=2.0-m5 -DgroupId=com.mycompany.app -DartifactId=myproject
Tapestry Basicmvn archetype:create -DarchetypeGroupId=org.appfuse -DarchetypeArtifactId=appfuse-basic-tapestry -DremoteRepositories=http://static.appfuse.org/repository -DarchetypeVersion=2.0-m5 -DgroupId=com.mycompany.app -DartifactId=myproject
JSF Modularmvn archetype:create -DarchetypeGroupId=org.appfuse -DarchetypeArtifactId=appfuse-modular-jsf -DremoteRepositories=http://static.appfuse.org/repository -DarchetypeVersion=2.0-m5 -DgroupId=com.mycompany.app -DartifactId=myproject
Spring MVC Modularmvn archetype:create -DarchetypeGroupId=org.appfuse -DarchetypeArtifactId=appfuse-modular-spring -DremoteRepositories=http://static.appfuse.org/repository -DarchetypeVersion=2.0-m5 -DgroupId=com.mycompany.app -DartifactId=myproject
Struts 2 Modularmvn archetype:create -DarchetypeGroupId=org.appfuse -DarchetypeArtifactId=appfuse-modular-struts -DremoteRepositories=http://static.appfuse.org/repository -DarchetypeVersion=2.0-m5 -DgroupId=com.mycompany.app -DartifactId=myproject
Tapestry Modularmvn archetype:create -DarchetypeGroupId=org.appfuse -DarchetypeArtifactId=appfuse-modular-tapestry -DremoteRepositories=http://static.appfuse.org/repository -DarchetypeVersion=2.0-m5 -DgroupId=com.mycompany.app -DartifactId=myproject
Core(backend only)mvn archetype:create -DarchetypeGroupId=org.appfuse -DarchetypeArtifactId=appfuse-core -DremoteRepositories=http://static.appfuse.org/repository -DarchetypeVersion=2.0-m5 -DgroupId=com.mycompany.app -DartifactId=myproject

만약 MySQL 5.x 데이타베이스가 설치 되어 있고 root 계정을 패스워드 없이 접근할 수 있도록 되어 있다면 AppFuse 를 바로 구동시켜 볼 수 있다. 만약 embedded database 를 사용하는걸 선호한다면, 우리가 최근에 추가한 H2, HSQLDB, 등등.. 을 위한 Database Profiles 가 있다.

MySQL 보안

패스워드 없는 root 로 MySQL 을 작동시키는것은 보안상 해서는 안될 행동이다. 여러분의 데이타베이스가 만들어진 다음에는 다음 명령을 통해 root 패스워드를 변경할수 있다:


mysql --user=root --pass='' mysql -e "update user set password=password('newpw') where user='root'; flush privileges;"

AppFuse 는 기본적으로 username "root" 에 빈 password 를 사용한다. 이런 값을 변경하려면 여러분 프로젝트의 pom.xml 파일의 아래쪽에 있는 속성값을 수정해야 한다.

어플리케이션을 구동 시킨다 [#2]

이제 AppFuse 를 구동시키는것은 쉽다. archetype 프로젝트가 한번 만들어 지면, Maven 은 hibernate3 를 이용하여 테이블들을 만들고 dbunit 을 이용하여 샘플 데이타를 넣었을 것이다. 이제 여러분이 할 일은 Jetty 컨테이너를 구동시키고 여러분의 어플리케이션을 보는일 뿐이다.

  1. JAR 파일들과 Tomcat 을 다운로드 하고 여러분의 프로젝트를 통합 테스트를 하기 위해, 콤멘드 라인에서 프로젝트 디렉토리로 이동(cd) 하고 mvn integration-test 명령을 실행한다. 이제 담배(^^)나 한대 피고 오도록 하자~. 모든것을 다운로드 하고 테스트 하는데는 약 5~10분정도 걸린다.
  2. 여러분의 어플리케이션을 보려면 프로젝트 디렉토리에서 mvn jetty:run-war 명령을 실행하면 된다. Maven 은 Jetty 서버를 시작시킬것이고 브라우져 를 열고 http://localhost:8080 으로 이동하면 여러분은 여러분의 어플리케이션을 볼 수 있을 것이다. 만약 modular archetype 을 사용 한다면, mvn jetty:run-war 명령을 여러분 프로젝트의 web 디렉토리에서 실행시켜야 한다. 관리 계정을 위한 기본 username/password 는 admin/admin 이고 일반 유저는 user/user 이다.
  3. AppFuse 로 부터 파일들을 덮어쓰려면 mvn war:inplace 명령을 실행하라. 이것은 의존되는 WARs 를 여러분이 직접 파일들을 수정할 수 있는 src/main/webapp 디렉토리에 추출할 것이다. source tree 에 war 가 풀려지면 mvn jetty:run 을 실행할 수 있다. 이것은 즉석에서 파일들을 수정할수 있게 하며, Jetty 는 수정된 파일들을 필요에 따라서 reload 할 것이다. 이 방식의 단 한가지 문제점은 프로젝트 안에 "풀어진 AppFuse" 는 업그레이드 하기 힘들다는 것이다. 우리는 mvn war:inplace 를 실행하기 전에 여러분의 프로젝트를 source control (cvs or svn, etc..) 에 올리길 권고한다. 이 방법이, 어떤 것을 checked in (덮어쓰기) 하고 무엇을 삭제 해야 할지 결정 하기 쉽게 해준다. 만약 jetty:run 을 실행할때 OutOfMemory 에러가 생긴다면, 이 메일링 리스트 쓰레드 를 보아라.

개발 환경

AppFuse 기반의 어플리케이션을 개발하기 위해 어떻게 컴퓨터를 세팅해야 하는지에 대한 자세한 설명을 위해 개발 환경 설정 을 보아라.

데이타베이스 설정 변경

MySQL 데이타베이스 세팅을 바꾸려면, 간단히 pom.xml 하단에 있는 프로퍼티들을 바꿔주면 된다. MySQL 이 아닌 다른 데이타 베이스를 사용 하려면 Database Profiles 을 보도록 하라.

여러분의 어플리케이션을 개발하라 [#3]

여러분은 Eclipse, IDEA 또는 NetBeans 를 사용하여 여러분의 어플리케이션을 개발할 수 있습니다. Eclipse 를 쓴다면, project file 을 생성하기 위해 mvn install eclipse:eclipse 을 실행하면 됩니다. IDEA 는, mvn idea:idea 을 실행하면 됩니다. IDE Reference Guide 에서 더 많은 설명을 볼 수 있다.

Tutorials 은 여러분의 어플리케이션 개발을 시작하는데 도움을 줄 것이다.



Go to top   Edit this page   More info...   Attach file...
This page last changed on 25-May-2007 13:12:43 MDT by DongGukLee.