Quick Start
Submitted by sooyeon.park on 목, 09/30/2010 - 16:14
Anyframe 4.0.0 이후부터 오픈 소스 기반으로 어플리케이션을 개발할 때 요구되는 다양한 오픈 소스들이 통합된 템플릿 기반의 프로젝트 구조 및 샘플 코드를 Maven을 이용하여 자동으로 구성할 수 있도록 지원한다. Maven을 이용한 샘플 프로젝트 구성 방법에 대해 살펴보기로 하자. 보다 자세한 내용은 Anyframe 매뉴얼의 Installation을 참고하도록 한다.
기존 Maven 사용자 유의사항
Anyframe에서는 Maven 기반에서 Anyframe 관련 라이브러리 다운로드시에 참조 관계에 놓인 모든 3rd-party 라이브러리들이 한꺼번에 다운로드되는 현상을 막기 위해 3rd-party 라이브러리들 간의 참조 관계를 끊은 상태로 Anyframe Repository에 배포하고 있다. 때문에 기존 Maven 사용자들은 Local Repository에 이미 존재하는 3rd-party 라이브러리가 가진 참조 관계에 문제가 생겨 Anyframe 설치시에 오류가 발생할 수 있다. 따라서 설치에 문제가 있는 경우에는 settings.xml 파일 내의 Local Repository를 다른 곳으로 지정하거나 Local Repository를 삭제한 후 재설치하여 볼 것을 권장한다.
- Maven 설치 및 환경 설정
- Anyframe 설치 대상 PC에 Maven이 설치되어 있지 않은 경우, Maven을 설치한다.
- 시스템 변수 MAVEN_HOME을 추가하고 속성값을 Maven 설치 폴더로 지정해준다. 또한 시스템 변수 PATH에 '%MAVEN_HOME%\bin'을 추가한다.
- 설치된 Maven을 이용한 Anyframe 설치 작업을 진행할 때, Anyframe Repository(http://dev.anyframejava.org/maven/repo)로부터 참조 라이브러리를 다운로드할 수 있도록 하기 위해 %MAVEN_HOME%\conf\settings.xml 파일을 열고 다음과 같이 속성 정의를 추가한다. (settings.xml 파일 다운로드)
- anyframe-basic-archetype 설치
- Command 창을 띄우고 다음과 같이 명령어를 입력하여 anyframe-basic-archetype 설치를 시작한다.
- 제시된 버전별 Maven Archetype 목록 중 설치하기 원하는 anyframe-basic-archetype에 해당하는 번호를 입력한다.
- 생성될 샘플 프로젝트를 위한 groupId, artifactId, version, package 명을 적절히 입력한다.
- 테스트 DB 시작
- 설치 확인
- Command 창을 띄운 후, 생성된 샘플 프로젝트 위치로 이동하여 다음과 같이 Maven 명령어를 입력한다.
- 브라우저를 열고 주소창에 http://localhost:8080/myproject를 입력하고 샘플 어플리케이션이 정상 동작하는지 확인한다.
- Plugins 설치/삭제
- 먼저, Command 창을 띄운 후, 생성된 샘플 프로젝트 위치로 이동하도록 하자.
- Command 창에서 다음과 같이 명령어를 입력하면 설치 가능한 Plugin 목록을 확인할 수 있다.
- Command 창에서 mvn anyframe:install -Dname=....을 입력하여 원하는 Plugin을 설치할 수 있다. 다음은 Hibernate Plugin 설치를 위해 입력된 명령어에 대한 예시이다.
- Anyframe에서는 Plugin 간의 부모 자식 관계를 기반으로 자식 Plugin 설치시 부모 Plugin이 자동으로 설치되도록 하고 있다. 따라서 Hibernate Plugin 설치를 시도한 경우 Hibernate Plugin의 부모 Plugin인 Datasource, Logging, Spring, Core Plugin이 함께 설치된 것을 알 수 있다. Command 창에서 다음과 같이 명령어를 입력하면 설치된 Plugin 목록을 확인할 수 있다.
- 설치한 Hibernate Plugin의 리소스가 샘플 어플리케이션에 성공적으로 반영되었는지 확인하기 위해서는 앞서 언급한 "설치 확인"을 참고하도록 한다.
- Command 창에서 다음과 같이 명령어를 입력하여 특정 Plugin을 삭제할 수 있다. name이라는 속성값으로 삭제 대상 Plugin 명을 정의해주면 된다. 다음은 Hibernate Plugin 삭제를 위해 입력된 명령어에 대한 예시이다.
<profiles>
<profile>
<id>myprofile</id>
<repositories>
<repository>
<id>anyframe</id>
<name>repository for Anyframe</name>
<url>http://dev.anyframejava.org/maven/repo</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>anyframe-plugin</id>
<name>repository for Anyframe</name>
<url>http://dev.anyframejava.org/maven/repo</url>
</pluginRepository>
<pluginRepository>
<id>central</id>
<name>Internal Mirror of Central Plugins Repository</name>
<url>http://www.ibiblio.org/maven2/plugins</url>
</pluginRepository>
<pluginRepository>
<id>remote</id>
<name>Internal Mirror of Central Plugins Repository</name>
<url>http://repo1.maven.org/maven2</url>
</pluginRepository>
</pluginRepositories>
</profile>
</profiles>
...
<activeProfiles>
<activeProfile>myprofile</activeProfile>
</activeProfiles>
mvn archetype:generate -DarchetypeCatalog= "http://dev.anyframejava.org/maven/repo/archetype-catalog.xml"
-- 예시 -- groupId : myapp artifactId : myproject version : 1.0.0 package : anyframe
샘플 어플리케이션의 정상 실행 여부를 체크하기 위해서는 먼저 테스트용 DB가 시작되어 있어야 한다. 샘플 프로젝트 설치 폴더 하위의 db/hsqldb/start.cmd (or start.sh) 파일을 더블 클릭하여 DB를 시작시킨다.
Plugin 설치 확인 방법은 여러가지가 있으나 여기서는 Jetty Server 기반에서 샘플 어플리케이션을 시작시켜 보도록 한다.
mvn clean jetty:run
Anyframe에서는 필수 Plugin인 Core Plugin을 포함하여 다양한 Plugin들을 제공하고 있다. 다음에서는 Plugin 설치 및 삭제 방법에 대해 살펴보기로 한다..
mvn anyframe:list
mvn anyframe:install -Dname=hibernate
mvn anyframe:installed
mvn anyframe:uninstall -Dname=hibernate

