English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Maven 项目模板

Maven verwendet Archetypen (Archetypen), um eine benutzerdefinierte Projektstruktur zu erstellen und so Maven-Projektvorlagen zu bilden.

In den vorangegangenen Kapiteln haben wir gelernt, dass Maven den folgenden Befehl verwendet, um Java-Projekte schnell zu erstellen:

mvn archetype:generate

Was ist ein Archetyp?

Ein Archetyp ist ein Maven-Plugin, genauer gesagt ein Projekttemplate, dessen Aufgabe es ist, eine Projektstruktur basierend auf einem Muster zu erstellen. Wir werden das quickstart-Archetypen-Plugin verwenden, um eine einfache Java-Anwendung zu erstellen.

Verwenden Sie das Projekttemplate

Lassen Sie uns die Kommandozeile öffnen, wechseln Sie zu C:\> MVN Verzeichnis und führen Sie den folgenden mvn-Befehl aus:

C:\MVN> mvn archetype:generate

Maven wird beginnen, zu verarbeiten und fordert die Auswahl des erforderlichen Archetypen an:

[INFO] Durchsuchen nach Projekten...
[INFO] Durchsuchen des Repositories nach einem Plugin mit dem Präfix: 'archetype'.
[INFO] -------------------------------------------------------------------
[INFO] Bau des Maven-Standardprojekts
[INFO] Aufgabe-Segment: [archetype:generate] (Aggregator-stil)
[INFO] -------------------------------------------------------------------
[INFO] Vorbereitung des Archetypen: generate
...
600: fern -> org.trailsframework:trails-archetype (-)
601: remote -> org.trailsframework:trails-sicher-archetype (-)
602: remote -> org.tynamo:tynamo-archetype (-)
603: remote -> org.wicketstuff.scala:wicket-scala-archetype (-)
604: remote -> org.wicketstuff.scala:wicketstuff-scala-archetype 
Basis-Einrichtung für ein Projekt, das Scala und Wicket kombiniert,
abhängig von Wicket-Scala-Projekt. 
Enthält einen Beispiel-Spezifikationstest.)
605: remote -> org.wikbook:wikbook.archetype (-)
606: remote -> org.xaloon.archetype:xaloon-archetype-wicket-jpa-glassfish (-)
607: remote -> org.xaloon.archetype:xaloon-archetype-wicket-jpa-spring (-)
608: remote -> org.xwiki.commons:xwiki-commons-component-archetype 
(Macht es einfach, ein Maven-Projekt für die Erstellung von XWiki Components zu erstellen.)
609: remote -> org.xwiki.rendering:xwiki-rendering-archetype-macro 
(Macht es einfach, ein Maven-Projekt für die Erstellung von XWiki Rendering Macros zu erstellen.)
610: remote -> org.zkoss:zk-archetype-component (Der ZK Component Archetyp)
611: remote -> org.zkoss:zk-archetype-webapp (Der ZK webapp Archetyp)
612: remote -> ru.circumflex:circumflex-archetype (-)
613: remote -> se.vgregion.javg.maven.archetypes:javg-minimal-archetype (-)
614: remote -> sk.seges.sesam:sesam-annotation-archetype (-)
Wählen Sie eine Nummer oder wenden Sie einen Filter an 
(Format: [groupId:]artifactId,大小写敏感 enthält): 203:

Drücken Sie Enter Wählen Sie die Standardoption (203:maven-archetype-quickstart).

Maven wird die Version des Archetypen abfragen

Wählen Sie 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
Wählen Sie eine Nummer: 6:

Drücken Sie Enter Wählen Sie die Standardoption (6:maven-archetype-quickstart:1.1)

Maven wird Projektinformationen abfragen. Geben Sie die Projektinformationen gemäß den Anforderungen ein. Drücken Sie Enter, um den Standardwert zu verwenden. Sie können auch eigene Werte eingeben.

Definiere den Wert für das Attribut 'groupId': : com.companyname.insurance
Definiere den Wert für das Attribut 'artifactId': : health
Definiere den Wert für das Attribut 'version': 1.0-SNAPSHOT
Definiere den Wert für das Attribut 'package': com.companyname.insurance

Maven will ask to confirm the project details, press}} Enter or press Y

Confirm properties configuration:
groupId: com.companyname.insurance
artifactId: health
version: 1.0-SNAPSHOT
package: com.companyname.insurance
Y:

Now Maven will start creating the project structure, as shown below:

[INFO] -----------------------------------------------------------------------
[INFO] Using following parameters for creating project 
from Old (1.x) Archetype: maven-archetype-quickstart:1.1
[INFO] -----------------------------------------------------------------------
[INFO] Parameter: groupId, Value: com.companyname.insurance
[INFO] Parameter: packageName, Value: com.companyname.insurance
[INFO] Parameter: package, Value: com.companyname.insurance
[INFO] Parameter: artifactId, Value: health
[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\health
[INFO] -----------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] -----------------------------------------------------------------------
[INFO] Total time: 4 minutes 12 seconds
[INFO] Finished at: Fri Jul 13 11:10:12 IST 2012
[INFO] Final Memory: 20M/90M
[INFO] -----------------------------------------------------------------------

The project created

Now navigate to the C:\ > MVN directory. You will see a java application project named health, just like the artifactId name established when the project was created. Maven will create a project with a standard directory layout, as shown below:

Erstellen Sie eine pom.xml

Maven generiert automatisch eine pom.xml-Datei für das Projekt, wie folgt:

<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/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0/modelVersion>
  <groupId>com.companyname.insurance<//groupId>
  <artifactId>health<//artifactId>
  <version>1.0-SNAPSHOT/version>
  <packaging>jar<//packaging>
  <name>health<//name>
  <url>http:<///maven.apache.org<//url>
  <properties>
     <project.build.sourceEncoding>UTF</-8</project.build.sourceEncoding>
  </properties>
  <dependencies>
     <dependency>
     <groupId>junit<//groupId>
        <artifactId>junit<//artifactId>
        <version>3.8.1</version>
        <scope>test<//scope>
     </dependency>
  </dependencies>
</project>

App.java

Maven wird automatisch eine Test-Datei App.java generieren.

路径:C:\MVN\consumerBanking\src\main\java\com\companyname\bank

package com.companyname.insurance;
 
/**
* Hello world!
*
*/
public class App 
{
    public static void main(String[] args)
    {
        System.out.println("Hello World!");
    }
}

AppTest.java

Maven 会自动生成一个 java 文件 AppTest.java。

路径为: C:\MVN\consumerBanking\src\test\java\com\companyname\bank

package com.companyname.insurance;
 
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 );
  }
}

So, now you can see the power of Maven. You can create any type of project with simple Maven commands and start your development.