maven - Anyframe을 설치해 보자

Anyframe은 Spring을 기반으로 여러 오픈소스를 합쳐놓은 (개인 생각으로는) 하이브리드형 오픈소스이다.
자세한 설명은 http://www.anyframejava.org 를 참고하면 좋을 듯 하다.
 
2011/10월 현재, 최신 버전은 5.0.1이며(2011/07/06 릴리즈)이다.

설치 방법은 http://www.anyframejava.org/project/anyframe/quickstart 에 자세히 나와 있다.
가이드가 안내하는 대로 일단 따라서 해보고자 한다.

가이드에 있는 것과 같이 $MAVEN_HOME/conf/settings.xml 파일에 아래의 내용을 추가하였다.


  
    myprofile
     
      
        anyframe
        repository for Anyframe                 
        http://dev.anyframejava.org/maven/repo
        
          true
        
      	
    
    
      
        anyframe-plugin 
        repository for Anyframe       
        http://dev.anyframejava.org/maven/repo           
      
      
        central 
        Internal Mirror of Central Plugins Repository       
        http://www.ibiblio.org/maven2/plugins           
      
      
        remote 
        Internal Mirror of Central Plugins Repository       
        http://repo1.maven.org/maven2           
          
      
  

...

  myprofile


다음과 같이 실행한다.

mvn archetype:generate -DarchetypeCatalog="http://dev.anyframejava.org/maven/repo/archetype-catalog.xml"


선택 옵션이 나오는데, 그 중 anyframe-basic-archetype (latest stable 5.0.2) 를 선택하고, 이 후 버전에서 5.1.0을 선택하였다.
groupId, artifactId, version, package는 이전 테스트와 같이 각각 입력하였다.



Anyframe quick start 페이지에서는 곧이어, hsql DB를 띄우고, jetty 서버를 띄워 테스트 웹 페이지로 접속 가능하다는 것을 보여준다.

사이트에서는,

db/hsqldb/start.cmd


로 hsqldb를 띄우고,

mvn clean jetty:run


를 실행시키면 된다고 한다. 사이트에 안내된 바와 같이, http://localhost:8080/myprj 로 접속한다면,
그런데, 띄워서 나타나는 사이트는, tada~



고작 한 줄 테스트 문장이다. 구조는 들여다봐야겠지만, 장점을 그다지 드러내는 데모는 아니라고 생각한다.
굳이 DB를 띄우라는 설정까지 할 필요는 없을 정도니까. 데모에서도 좀더 그럴 듯하게 보여줄 필요가 있을 것 같다.

이렇게 생성된 프로젝트의 pom.xml 파일은 다음과 같다.




	4.0.0
	myapp
	myprj
	war
	1.0-SNAPSHOT
	myprj

	
	
	
	
		${INSPECTION_DIR}
		1.5
		UTF-8
		

	
		
			
				org.apache.maven.plugins
				maven-compiler-plugin
				
					1.5
					1.5
					true
					512m
					1024m
					UTF-8
				
			
			
				org.mortbay.jetty
				maven-jetty-plugin
			
			
				org.apache.maven.plugins
				maven-war-plugin
				2.0
			
			
				org.apache.maven.plugins
				maven-eclipse-plugin
				
					none
				
			
			
				org.codehaus.mojo
				anyframe-maven-plugin
				2.1.0
				
					
						hsqldb
						hsqldb
						2.0.0
									
				
			
			
		        org.apache.maven.plugins
		        maven-site-plugin
		        2.0.1
		        
		          UTF-8
		        
		    			
		
	

	
		true
		
			
				org.apache.maven.plugins
				maven-surefire-plugin
				2.5
				
					always
				
			

			
				org.apache.maven.plugins
				maven-surefire-report-plugin
				2.5
			

			
				org.codehaus.mojo
				emma-maven-plugin
				1.0-alpha-2
			

			
				org.codehaus.mojo
				jdepend-maven-plugin
				2.0-beta-2
			 

			
				org.apache.maven.plugins
				maven-pmd-plugin
				2.5
				
					
						${inspection.dir}/pmd/ruleset/pmd-ruleset-v3-3.2.3over.xml
					
					true
					${project.build.sourceEncoding}
					${targetJdk}
				
			
			
			
		        org.apache.maven.plugins
		        maven-checkstyle-plugin
		        2.5
		        
			        true
			        ${inspection.dir}/checkstyle/anyframe_checks.xml
		        
    		 
		   
		    
			    org.apache.maven.plugins
		        maven-jxr-plugin
		        2.2
		        
		        	true
		        
		    
		
	


   디렉토리 구조는 다음과 같다.


앞서 설정했던 디렉토리 구조가 아니다.
마찬가지로,

mvn help:effective-pom


을 실행하여, 세부 설정을 살펴보자.

이전과 마찬가지로, 디렉토리의 구조를 변경하기 위해 pom.xml의 내용을 바꾸고, 실제 디렉토리의 구조도 변경하자. (drag & drop)




		src/java
		test/java
		target/classes
		target/test-classes

		
			
				src/resources
			
		

		
			
				test/resources
			
		

...
			
				org.apache.maven.plugins
				maven-war-plugin
				2.0
				
						webapp
				
			

과 같이 추가하였다.

mvn package


를 실행한 후의 디렉토리 구조는 다음과 같다.


댓글

Designed by JB FACTORY