AppFuse2QuickStart_ko |
|
Your trail: |
AppFuse QuickStart
AppFuse 2.x를 사용해서 자바 EE 애플리케이션을 개발하고자 한다면, 다음의 지시사항을 따라주세요.
목차
- 새 프로젝트를 만든다.
- 새 프로젝트를 구동 시킨다.
- 즐겨라.
새 프로젝트를 만든다
- JDK 5+ 를 Download 하고 설치 한다.
- MySQL 5.x 를 Download 하고 설치 한다.
- 로컬(자신의 컴퓨터)에 SMTP server 를 셋업 하거나 다른 hostname(기본적으로 localhost 로 설정되어있다) 을 사용하려면 mail.properties (src/main/resources 안에 있는) 를 수정한다.
- Maven 2.0.6 을 Download 하고 install 한다. 만약 command-line 보다는 Eclipse 에서 프로젝트를 만들길 원한다면 Candy for AppFuse 검토해 보도록 하라.
- AppFuse 는 몇몇 다른 특징을 가지고 나왔다. 사용자로서의 여러분의 경험을 최적화하고 심플하게 하기 위하여, 우리는 다수 다른 프로젝트 archetype(starter project) 들을 만들었다. 현재 'basic' 그리고 'modular' 두가지 타입의 AppFuse archtype 이 있다. basic archetype 들은 웹 어플리케이션으로만 제공되어질 프로젝트를 만들때 이상적이다. "core" 와 "web" 모듈로 이루어져 있는 modular archtype 들은 재사용 가능한 백엔드를 필요로 하는 프로젝트를 만들때 이상적이다. 이러한 프로젝트를 만드는 명령의 리스트가 아래에 있다. 반드시 groupId 를 여러분의 package 명으로, artifactId 를 여러분의 프로젝트 이름으로 바꾸어야 한다. archetype 을 만들때 보게 되는 warning(경고) 메세지들은 예정된 메세지들이다. 만약 마지막에 BUILD SUCCESSFUL 메세지를 보게 된다면 프로젝트는 성공적으로 만들어 진것이다.
Archetype | Command |
JSF Basic | mvn 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 Basic | mvn 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 Basic | mvn 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 Basic | mvn 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 Modular | mvn 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 Modular | mvn 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 Modular | mvn 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 Modular | mvn 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 파일의 아래쪽에 있는 과 속성값을 수정해야 한다.
어플리케이션을 구동 시킨다
이제 AppFuse 를 구동시키는것은 쉽다. archetype 프로젝트가 한번 만들어 지면, Maven 은 hibernate3 를 이용하여 테이블들을 만들고 dbunit 을 이용하여 샘플 데이타를 넣었을 것이다. 이제 여러분이 할 일은 Jetty 컨테이너를 구동시키고 여러분의 어플리케이션을 보는일 뿐이다.
- JAR 파일들과 Tomcat 을 다운로드 하고 여러분의 프로젝트를 통합 테스트를 하기 위해, 콤멘드 라인에서 프로젝트 디렉토리로 이동(cd) 하고 mvn integration-test 명령을 실행한다. 이제 담배(^^)나 한대 피고 오도록 하자~. 모든것을 다운로드 하고 테스트 하는데는 약 5~10분정도 걸린다.
- 여러분의 어플리케이션을 보려면 프로젝트 디렉토리에서 mvn jetty:run-war 명령을 실행하면 된다. Maven 은 Jetty 서버를 시작시킬것이고 브라우져 를 열고 http://localhost:8080 으로 이동하면 여러분은 여러분의 어플리케이션을 볼 수 있을 것이다. 만약 modular archetype 을 사용 한다면, mvn jetty:run-war 명령을 여러분 프로젝트의 web 디렉토리에서 실행시켜야 한다. 관리 계정을 위한 기본 username/password 는 admin/admin 이고 일반 유저는 user/user 이다.
- 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 을 보도록 하라.
여러분의 어플리케이션을 개발하라
여러분은 Eclipse, IDEA 또는 NetBeans 를 사용하여 여러분의 어플리케이션을 개발할 수 있습니다. Eclipse 를 쓴다면, project file 을 생성하기 위해 mvn install eclipse:eclipse 을 실행하면 됩니다. IDEA 는, mvn idea:idea 을 실행하면 됩니다. IDE Reference Guide 에서 더 많은 설명을 볼 수 있다.
Tutorials 은 여러분의 어플리케이션 개발을 시작하는데 도움을 줄 것이다.
|