Maven - Creating Project
C:\MVN>mvn archetype:generate -DgroupId=com.companyname.bank -DartifactId=consumerBanking -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
[INFO] Scanning for projects... [INFO] [INFO] ------------------------------------------------------------------------ [INFO] Building Maven Stub Project (No POM) 1 [INFO] ------------------------------------------------------------------------ [INFO] [INFO] >>> maven-archetype-plugin:2.4:generate (default-cli) > generate-sources @ standalone-pom >>> [INFO] [INFO] <<< maven-archetype-plugin:2.4:generate (default-cli) < generate-sources @ standalone-pom <<< [INFO] [INFO] --- maven-archetype-plugin:2.4:generate (default-cli) @ standalone-pom -- - [INFO] Generating project in Batch mode [INFO] ------------------------------------------------------------------------- --- [INFO] Using following parameters for creating project from Old (1.x) Archetype: maven-archetype-quickstart:1.0 [INFO] ------------------------------------------------------------------------- --- [INFO] Parameter: groupId, Value: com.companyname.bank [INFO] Parameter: packageName, Value: com.companyname.bank [INFO] Parameter: package, Value: com.companyname.bank [INFO] Parameter: artifactId, Value: consumerBanking [INFO] Parameter: basedir, Value: C:\MVN [INFO] Parameter: version, Value: 1.0-SNAPSHOT [INFO] project created from Old (1.x) Archetype in dir: C:\MVN\consumerBanking [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 03:19 min [INFO] Finished at: 2015-09-26T12:18:26+05:30 [INFO] Final Memory: 15M/247M [INFO] ------------------------------------------------------------------------
이제 C:/MVN 디렉토리고 가자. (artifactID에 명시한것 같이) cunsumerBanking으로 이름지어진 java application project가 생성된 것을 볼 수 있다. Maven은 아래와 같은 표준 디렉토리 layout을 사용한다.
위 예제를 사용하여 아래 주요 개념을 이해할 수 있다.
Folder Structure | Description |
---|---|
consumerBanking | contains src folder and pom.xml (src폴더와 pom.xml을 포함한다.) |
src/main/java | contains java code files under the package structure (com/companyName/bank). (package structure - com/companyName/bank-아래에 java code 파일을 포함한다.) |
src/main/test | contains test java code files under the package structure (com/companyName/bank). (package structure아애레 test java code파일을 포함한다.) |
src/main/resources | it contains images/properties files (In above example, we need to create this structure manually). (이미지/속성파일을 포함한다 - 위의 예에서 이 구조는 수동으로 생성하여야 한다.) |
만약 maven이 또한 간단한 java 소스 파일과 java test 파일을 생성한 것이 보이면, C:\MVN\consumerBankign\src\main\java\com\companyname\bank 폴더를 열면 App.java를 보게 될 것이다.
package com.companyname.bank; /** * Hello world! * */ public class App { public static void main( String[] args ) { System.out.println( "Hello World!" ); } }
C:\MVN\consumerBanking\src\test\java\com\companyname\bank폴더를 열면 AppTest.java를 보게될 것이다.
package com.companyname.bank; import junit.framework.Test; import junit.framework.TestCase; import junit.framework.TestSuite; /** * Unit test for simple App. */ public class AppTest extends TestCase { /** * Create the test case * * @param testName name of the test case */ public AppTest( String testName ) { super( testName ); } /** * @return the suite of tests being tested */ public static Test suite() { return new TestSuite( AppTest.class ); } /** * Rigourous Test :-) */ public void testApp() { assertTrue( true ); } }
개발자는 위 테이블에서 언급된것과 같이 파일을 위치시켜야 하고 Maven은 복잡한 모든 build를 다룬다.