yeni bir projeye başlarken maven ile önce
mvn archetype:generate
Bu bazı default dosyaları indirip local repositoryiö klasör yapısını ve pom.xml i oluştururacakç
ilk önce uzun bir listeden seçmemizi isteyecek ancak enter ile geçebiliriz.
......
3086: remote -> us.fatehi:schemacrawler-archetype-plugin-command (-)
3087: remote -> us.fatehi:schemacrawler-archetype-plugin-dbconnector (-)
3088: remote -> us.fatehi:schemacrawler-archetype-plugin-lint (-)
3089: remote -> ws.osiris:osiris-archetype (Maven Archetype for Osiris)
3090: remote -> xyz.luan.generator:xyz-gae-generator (-)
3091: remote -> xyz.luan.generator:xyz-generator (-)
3092: remote -> za.co.absa.hyperdrive:component-archetype (-)
3093: remote -> za.co.absa.hyperdrive:component-archetype_2.11 (-)
3094: remote -> za.co.absa.hyperdrive:component-archetype_2.12 (-)
Choose a number or apply filter (format: [groupId:]artifactId, case sensitive contains): 1905:
Default olarak gelen archetype burada 1905 ve bu helloworld uygulamasının archetype ı. Her zaman 1905 olmak zorunda değil.
Enter
Sonra versiyon soracak. şimdilik 1.0 ı seçebiliriz.
Choose org.apache.maven.archetypes:maven-archetype-quickstart version:
1: 1.0-alpha-1
2: 1.0-alpha-2
3: 1.0-alpha-3
4: 1.0-alpha-4
5: 1.0
6: 1.1
7: 1.3
8: 1.4
Choose a number: 8: 5
sonra group Id soracak
Define value for property 'groupId': de.buyukburc
groupid yazılımın genel grubunu gösteriyor. Genel yaklaşım şirketin domain adının tersten yazılmasıdır. “de.buyukburc” gibi.
sonra artifact Id. ArtifactId projenin adıdır.
Define value for property 'artifactId': GpaProject
Sonra gelen iki soruyu enter ile de geçebiliriz.
Define value for property 'version' 1.0-SNAPSHOT: :
Define value for property 'package' de.buyukburc: :
şimdi klasörümüz ve yapı oluşturuldu.
:/mnt/c/java-starter/GpaProject$ ls -R
.:
pom.xml src
./src:
main test
./src/main:
java
./src/main/java:
de
./src/main/java/de:
buyukburc
./src/main/java/de/buyukburc:
App.java
./src/test:
java
./src/test/java:
de
./src/test/java/de:
buyukburc
./src/test/java/de/buyukburc:
AppTest.java
/mnt/c/java-starter/GpaProject$
pom.xml de oluşturuldu. İçeriğe bakacak olursak
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>de.buyukburc</groupId>
<artifactId>GpaProject</artifactId>
<packaging>jar</packaging>
<version>1.0-SNAPSHOT</version>
<name>GpaProject</name>
<url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>
junit default olarak geldi.
Ayrıca bayı pluginler ‘~/.m2/repository’ klasşrğne konacak default olarak.