At line 7 changed 3 lines. |
# 새 프로젝트를 만든다. |
# 새 프로젝트를 구동 시킨다. |
# 즐겨라. |
# 새 프로젝트를 만든다. [1] |
# 새 프로젝트를 구동 시킨다. [2] |
# 즐겨라. [3] |
At line 11 changed 1 line. |
!! 새 프로젝트를 만든다 |
!! 새 프로젝트를 만든다 [#1] |
At line 13 changed 4 lines. |
# 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 검토해 보도록 하라. |
# JDK 5+ 를 [Download|http://java.sun.com/javase/downloads/] 하고 설치 한다. |
# MySQL 5.x 를 [Download|http://dev.mysql.com/downloads/mysql/5.0.html#downloads] 하고 설치 한다. |
# 로컬(자신의 컴퓨터)에 [SMTP server|http://appfuse.org/display/APF/Installing+an+SMTP+Server] 를 셋업 하거나 다른 hostname(기본적으로 localhost 로 설정되어있다) 을 사용하려면 mail.properties (src/main/resources 안에 있는) 를 수정한다. |
# Maven 2.0.6 을 [Download|http://maven.apache.org/download.html] 하고 [install|http://maven.apache.org/download.html#Installation] 한다. 만약 command-line 보다는 Eclipse 에서 프로젝트를 만들길 원한다면 [Candy for AppFuse|http://candy4appfuse.sourceforge.net/] 검토해 보도록 하라. |
At line 19 changed 11 lines. |
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 |
|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 |
At line 31 changed 1 line. |
만약 MySQL 5.x 데이타베이스가 설치 되어 있고 root 계정을 패스워드 없이 접근할 수 있도록 되어 있다면 AppFuse 를 바로 구동시켜 볼 수 있다. 만약 embedded database 를 사용하는걸 선호한다면, 우리가 최근에 추가한 H2, HSQLDB, 등등.. 을 위한 Database Profiles 가 있다. |
만약 [MySQL 5.x|http://dev.mysql.com/downloads/mysql/5.0.html#downloads] 데이타베이스가 설치 되어 있고 root 계정을 패스워드 없이 접근할 수 있도록 되어 있다면 AppFuse 를 바로 구동시켜 볼 수 있다. 만약 embedded database 를 사용하는걸 선호한다면, 우리가 최근에 추가한 H2, HSQLDB, 등등.. 을 위한 [Database Profiles|http://appfuse.org/display/APF/Database+Profiles] 가 있다. |
At line 33 changed 1 line. |
MySQL 보안 |
!MySQL 보안 |
At line 35 added 2 lines. |
[{Java2HtmlPlugin |
|
At line 38 added 1 line. |
}] |
At line 39 removed 1 line. |
어플리케이션을 구동 시킨다 |
At line 41 changed 1 line. |
이제 AppFuse 를 구동시키는것은 쉽다. archetype 프로젝트가 한번 만들어 지면, Maven 은 hibernate3 를 이용하여 테이블들을 만들고 dbunit 을 이용하여 샘플 데이타를 넣었을 것이다. 이제 여러분이 할 일은 Jetty 컨테이너를 구동시키고 여러분의 어플리케이션을 보는일 뿐이다. |
!! 어플리케이션을 구동 시킨다 [#2] |
At line 43 changed 4 lines. |
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 를 구동시키는것은 쉽다. archetype 프로젝트가 한번 만들어 지면, Maven 은 [hibernate3|http://mojo.codehaus.org/maven-hibernate3/hibernate3-maven-plugin/] 를 이용하여 테이블들을 만들고 [dbunit|http://mojo.codehaus.org/dbunit-maven-plugin/] 을 이용하여 샘플 데이타를 넣었을 것이다. 이제 여러분이 할 일은 Jetty 컨테이너를 구동시키고 여러분의 어플리케이션을 보는일 뿐이다. |
At line 48 changed 1 line. |
|
# JAR 파일들과 Tomcat 을 다운로드 하고 여러분의 프로젝트를 통합 테스트를 하기 위해, 콤멘드 라인에서 프로젝트 디렉토리로 이동(cd) 하고 mvn integration-test 명령을 실행한다. 이제 담배(^^)나 한대 피고 오도록 하자~. 모든것을 다운로드 하고 테스트 하는데는 약 5~10분정도 걸린다. |
# 여러분의 어플리케이션을 보려면 프로젝트 디렉토리에서 mvn jetty:run-war 명령을 실행하면 된다. Maven 은 Jetty 서버를 시작시킬것이고 브라우져 를 열고 [http://localhost:8080|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 에러가 생긴다면, [이 메일링 리스트 쓰레드|http://www.nabble.com/mvn-jetty%3Arun-%3D%3E-OutOfMemoryError%3A-PermGen-space-tf3367253s2369.html] 를 보아라. |
At line 50 changed 1 line. |
개발 환경 |
! 개발 환경 |
At line 52 changed 4 lines. |
AppFuse 기반의 어플리케이션을 개발하기 위해 어떻게 컴퓨터를 세팅해야 하는지에 대한 자세한 설명을 위해 개발 환경 설정 을 보아라. |
데이타베이스 설정 변경 |
MySQL 데이타베이스 세팅을 바꾸려면, 간단히 pom.xml 하단에 있는 <jdbc.*> 프로퍼티들을 바꿔주면 된다. MySQL 이 아닌 다른 데이타 베이스를 사용 하려면 Database Profiles 을 보도록 하라. |
여러분의 어플리케이션을 개발하라 |
AppFuse 기반의 어플리케이션을 개발하기 위해 어떻게 컴퓨터를 세팅해야 하는지에 대한 자세한 설명을 위해 [개발 환경 설정|http://appfuse.org/display/APF/Development+Environment] 을 보아라. |
At line 57 changed 1 line. |
여러분은 Eclipse, IDEA 또는 NetBeans 를 사용하여 여러분의 어플리케이션을 개발할 수 있습니다. Eclipse 를 쓴다면, project file 을 생성하기 위해 mvn install eclipse:eclipse 을 실행하면 됩니다. IDEA 는, mvn idea:idea 을 실행하면 됩니다. IDE Reference Guide 에서 더 많은 설명을 볼 수 있다. |
! 데이타베이스 설정 변경 |
MySQL 데이타베이스 세팅을 바꾸려면, 간단히 pom.xml 하단에 있는 <jdbc.*> 프로퍼티들을 바꿔주면 된다. MySQL 이 아닌 다른 데이타 베이스를 사용 하려면 [Database Profiles|http://appfuse.org/display/APF/Database+Profiles] 을 보도록 하라. |
At line 59 changed 1 line. |
Tutorials 은 여러분의 어플리케이션 개발을 시작하는데 도움을 줄 것이다. |
!! 여러분의 어플리케이션을 개발하라 [#3] |
|
여러분은 [Eclipse|http://appfuse.org/display/APF/Eclipse], [IDEA|http://appfuse.org/display/APF/IDEA] 또는 [NetBeans|http://appfuse.org/display/APF/NetBeans] 를 사용하여 여러분의 어플리케이션을 개발할 수 있습니다. Eclipse 를 쓴다면, project file 을 생성하기 위해 mvn install eclipse:eclipse 을 실행하면 됩니다. IDEA 는, mvn idea:idea 을 실행하면 됩니다. [IDE Reference Guide|http://appfuse.org/display/APF/IDEs] 에서 더 많은 설명을 볼 수 있다. |
|
[Tutorials|http://appfuse.org/display/APF/Tutorials] 은 여러분의 어플리케이션 개발을 시작하는데 도움을 줄 것이다. |