Maven - tworzenie projektu
Maven używa archetypewtyczki do tworzenia projektów. Aby stworzyć prostą aplikację java, użyjemy wtyczki maven-archetype-quickstart. W poniższym przykładzie utworzymy projekt aplikacji Java oparty na maven w folderze C: \ MVN.
Otwórzmy konsolę poleceń, przejdź do katalogu C: \ MVN i wykonaj następujące czynności mvn Komenda.
C:\MVN>mvn archetype:generate
-DgroupId = com.companyname.bank
-DartifactId = consumerBanking
-DarchetypeArtifactId = maven-archetype-quickstart
-DinteractiveMode = false
Maven rozpocznie przetwarzanie i utworzy pełną strukturę projektu aplikacji Java.
[INFO] Scanning for projects...
[INFO] Searching repository for plugin with prefix: 'archetype'.
[INFO] -------------------------------------------------------------------
[INFO] Building Maven Default Project
[INFO] task-segment: [archetype:generate] (aggregator-style)
[INFO] -------------------------------------------------------------------
[INFO] Preparing archetype:generate
[INFO] No goals needed for project - skipping
[INFO] [archetype:generate {execution: default-cli}]
[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 SUCCESSFUL
[INFO] ------------------------------------------------------------------
[INFO] Total time: 14 seconds
[INFO] Finished at: Tue Jul 10 15:38:58 IST 2012
[INFO] Final Memory: 21M/124M
[INFO] ------------------------------------------------------------------
Teraz przejdź do katalogu C: / MVN. Zostanie wyświetlony utworzony projekt aplikacji Java o nazwie Consumer Banking (zgodnie z artifactId). Maven używa standardowego układu katalogów, jak pokazano poniżej -
Korzystając z powyższego przykładu, możemy zrozumieć następujące kluczowe pojęcia -
Sr.No. | Struktura i opis folderów |
---|---|
1 | consumerBanking zawiera folder src i pom.xml |
2 | src/main/java zawiera pliki kodu java w strukturze pakietu (com / nazwa firmy / bank). |
3 | src/main/test zawiera testowe pliki kodu java w strukturze pakietu (com / nazwa firmy / bank). |
4 | src/main/resources zawiera obrazy / pliki właściwości (w powyższym przykładzie musimy utworzyć tę strukturę ręcznie). |
Jeśli zauważysz, zauważysz, że Maven utworzył również przykładowy plik źródłowy Java i plik testowy Java. Otwórz folder C: \ MVN \ consumerBanking \ src \ main \ java \ com \ companyname \ bank, zobaczysz plik App.java.
package com.companyname.bank;
/**
* Hello world!
*
*/
public class App {
public static void main( String[] args ){
System.out.println( "Hello World!" );
}
}
Otwórz folder C: \ MVN \ consumerBanking \ src \ test \ java \ com \ companyname \ bank, aby wyświetlić 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 );
}
}
Deweloperzy są zobowiązani do umieszczania swoich plików, jak wspomniano w powyższej tabeli, a Maven obsługuje wszystkie zawiłości związane z kompilacją.
W następnym rozdziale omówimy, jak zbudować i przetestować projekt za pomocą maven Build and Test Project.