Mit Maven können Sie auf einfache Weise Java- und Scala-Projekte erstellen und Jar mithilfe von Befehlen erstellen. Der Vorteil von Maven ist, dass es verschiedene Bibliotheken und Ressourcen verwaltet, die vom Erstellen des Projekts abhängen.
Die Struktur eines typischen Maven-Projekts ist wie folgt. MavenProject ┣━src ┃ ┣━main ┃ ┃ ┣━java ┃ ┃ ┗━resource ┃ ┗━test ┃ ┣━java ┃ ┗━resource ┗━pom.xml
Vor Ort können Sie die Verzeichnisse erstellen, die von Maven-Befehlen benötigt werden. Erstellen Sie beispielsweise ein Mvn-Java-Projekt.
cd /work
mvn archetype:generate \
-DarchetypeArtifactId=maven-archetype-quickstart \
-DinteractiveMode=false \
-DgroupId=com.demo \
-DartifactId=MvnJava
Das erstellte Verzeichnis lautet wie folgt. MvnJava ┣━src ┃ ┣━main ┃ ┃ ┣━java ┃ ┃ ┃ ┗━main ┃ ┃ ┃ ┗━java ┃ ┃ ┃ ┗━com ┃ ┃ ┃ ┗━domo ┃ ┃ ┃ ┗━App.java ┃ ┃ ┗━resource ┃ ┗━test ┃ ┣━java ┃ ┃ ┗━java ┃ ┃ ┗━com ┃ ┃ ┗━domo ┃ ┃ ┗━AppText.java ┃ ┗━resource ┗━pom.xml Der Inhalt von App.java ist wie folgt
package com.demo;
/**
* Hello world!
*
*/
public class App
{
public static void main( String[] args )
{
System.out.println( "Hello World!" );
}
}
Der Inhalt von AppTest.java lautet wie folgt
package com.demo;
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 );
}
}
pom ist eine Abkürzung für "Projektobjektmodell" und ein Objektmodell für die Verarbeitung verschiedener Informationen eines Projekts. In pom.xml werden die Projekteinstellungen als XML-Tags beschrieben. Fügen Sie nun eine Bibliothek hinzu, die vom Test abhängt, um den JUnit-Test durchzuführen.
<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>com.demo</groupId>
<artifactId>MvnJava</artifactId>
<packaging>jar</packaging>
<version>1.0-SNAPSHOT</version>
<name>MvnJava</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>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
</project>
Kompilieren Sie das Maven-Projekt.
cd /work/MvnJava
mvn compile
#Der Abschluss ist abgeschlossen, wenn das folgende Ergebnis angezeigt wird
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
Das Zielverzeichnis wird erstellt.
Jar, das vom JUnit-Test abhängt, befindet sich an der folgenden Stelle.
ls /Users/username/.m2/repository/junit/junit/3.8.1/
junit-3.8.1.jar
mvn test
#Ergebnis
-------------------------------------------------------
T E S T S
-------------------------------------------------------
Running com.demo.AppTest
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.01 sec
Results :
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 19.083 s
[INFO] Finished at: 2019-03-21T16:59:50+09:00
[INFO] ------------------------------------------------------------------------
mvn package
#Ergebnis
[INFO] Building jar: /work/MvnJava/target/MvnJava-1.0-SNAPSHOT.jar
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 14.768 s
[INFO] Finished at: 2019-03-21T17:12:01+09:00
[INFO] ------------------------------------------------------------------------
MvnJava-1.0-SNAPSHOT.jar ist ein Jar, das Sie erstellen können.
java -cp /work/MvnJava/target/MvnJava-1.0-SNAPSHOT.jar com.demo.App
#Ergebnis
Hello World!
mvn -v: | Überprüfen Sie die Maven-Version. Geben Sie Informationen zu dem von Ihnen verwendeten JDK an. |
mvn compile: | Kompilieren Sie die Elemente in Maven. Ein Zielverzeichnis wird direkt unter dem Maven-Verzeichnis erstellt. Das Klassenverzeichnis, in dem die Klassen platziert werden, wird darin erstellt. |
mvn test: | Führen Sie Mavens Test aus. Dazu werden im Zielverzeichnis eine Testklasse und Testergebnisse erstellt. |
mvn package: | Kompilieren Sie das Maven-Projekt und erstellen Sie es im Zielverzeichnis. |
mvn clean: | Löschen Sie das Zielverzeichnis. |
mvn install: | In einem lokalen Repository installieren. |
Recommended Posts