Erstellen Sie ein Multiple-Modul-Projekt mit Maven
1. Die Vorstellung
Das Dokument wird auf die Quelle von .. geschrieben
Eclipse 4.6 (NEON)
Sie sind dabei, das erweiterte Dokument über Maven zu sehen. Wenn Sie als den Anfänger mit Maven sind, sollen Sie die Führungsdokument der Maven für die Anfänger (Hello world Maven) sehen bei :
2. Das Modellsbeispiel
Das ist die Modelle des Beispiel im Dokument
Das Ziel von der Führung ist:
- Wie benuzt eine Module die andere Module in Maven
- zugleiche Einpackung der unterschiedlichen Module durch Maven (output file: jar, war).
MathWebApp: ist ein Project WebApp
MathLibrary: ist ein Project Bibliothek , die die Utility- Class enthaltet, die von MathWebApp.benutzt
MavenParent: ist ein Project mit der Aufgabe zur Einpackung der 2 oben Projekt. Das ist ein Vater Projekt. Und die 2 oben Projekt werden als seine Tochtermodule gesehen. MavenParent wird
MathLibrary: ist ein Project Bibliothek , die die Utility- Class enthaltet, die von MathWebApp.benutzt
MavenParent: ist ein Project mit der Aufgabe zur Einpackung der 2 oben Projekt. Das ist ein Vater Projekt. Und die 2 oben Projekt werden als seine Tochtermodule gesehen. MavenParent wird
- Einpackung der MathLibary zur File jar
- Einpackung der MathWebApp zur File war.
3. Das Projekt MathLibrary erstellen
- File/New/Other...
Das ist ein einfachers Project. Wir sollen das Archetyp (archetype) Maven nicht wählen
Wählen Sie
Wählen Sie
- Create a simple project (skip archetype selection)
Geben Sie ein
- Group Id: org.o7planning
- Artifact Id: MathLibrary
- Packaging: jar
Ignorieren Sie die Information der Vater Module und wir werden es später installieren.
Das Project wird erstellt
Erstellen Sie eine Class MathUtils:
MathUtils.java
package org.o7planning.mathutils;
public class MathUtils {
public static int sum(int a, int b) {
return a + b;
}
}
4. Das Projekt MathWebApp erstellen
- File/New/Other..
Wählen Sie das Archetyp (archetype) maven-archetype-webapp. Eclipse werden ein Project Maven erstellen, das die Struktur von einer Web Applikation hat
Geben Sie ein
- Group Id: org.o7planning
- Artifact Id: MathWebApp
- Version: 0.0.2-SNAPSHOT
- Package: org.o7planning.mathwebapp
Das ist die Foto von dem erstellten Project MathWebApp . Sie können die Nachricht des Fehler irgendwo im Project sehen. Sorgen Sie nicht dafür. Die Ursache ist, dass Sie die Bibliothek Servlet noch nicht anmelden
Eclipse , die das Project erstellt hat, kann die falsche Struktur haben. Sie sollen testen
- Open file pom.xml
Ergänzen Sie
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
Wie das folgende Beispiel
jetzt geht der Fehler weg
melden Sie mit Maven weiter an, MathWebApp benutzt MathLibrary:
<dependency>
<groupId>org.o7planning</groupId>
<artifactId>MathLibrary</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
MathWebApp/pom.xml
<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>org.o7planning</groupId>
<artifactId>MathWebApp</artifactId>
<packaging>war</packaging>
<version>0.0.2-SNAPSHOT</version>
<name>MathWebApp Maven Webapp</name>
<url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.o7planning</groupId>
<artifactId>MathLibrary</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
</dependencies>
<build>
<finalName>MathWebApp</finalName>
</build>
</project>
Benutzen Sie die Utility- Class ins Project MathLibrary um die File index.jsp zu ändern
index.jsp
<html>
<body>
<h2>Hello World!</h2>
<%
int a = 100;
int b = 200;
int c = org.o7planning.mathutils.MathUtils.sum(a,b);
out.println("<h2>"+ c+"</h2>");
%>
</body>
</html>
5. Das Projekt MavenParent erstellen
Erstellen Sie ein normales Project
- File/New/Other..
Klicken Sie die Rechtsmaustaste ins erstellte Project MavenParent und dann wandeln Sie (convert) es zum Maven Project um
Geben Sie ein
- Group Id: org.o7planning
- Artifact Id: MavenParent
- Version: 1.0.0-SNAPSHOT
- Packaging: pom
6. Maven die Beziehungen zwischen Projekte erklären
Das ist die kurze Bezeichnung der Konfigurierung der Maven und die Beziehungen zwischen die module (Project).
Öffnen Sie die File pom.xml von 2 project MathLibrary & MathWebApp und dann wählen Sie:
<parent>
<groupId>org.o7planning</groupId>
<artifactId>MavenParent</artifactId>
<version>1.0.0-SNAPSHOT</version>
<relativePath>../MavenParent/pom.xml</relativePath>
</parent>
Öffnen Sie die File pom.xml von MavenParent und ergänzen Sie:
<modules>
<module>../MathLibrary</module>
<module>../MathWebApp</module>
</modules>
MathLibrary/pom.xml
<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>org.o7planning</groupId>
<artifactId>MathLibrary</artifactId>
<version>0.0.1-SNAPSHOT</version>
<parent>
<groupId>org.o7planning</groupId>
<artifactId>MavenParent</artifactId>
<version>1.0.0-SNAPSHOT</version>
<relativePath>../MavenParent/pom.xml</relativePath>
</parent>
</project>
MathWebApp/pom.xml
<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>org.o7planning</groupId>
<artifactId>MathWebApp</artifactId>
<packaging>war</packaging>
<version>0.0.2-SNAPSHOT</version>
<name>MathWebApp Maven Webapp</name>
<url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.o7planning</groupId>
<artifactId>MathLibrary</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
</dependencies>
<parent>
<groupId>org.o7planning</groupId>
<artifactId>MavenParent</artifactId>
<version>1.0.0-SNAPSHOT</version>
<relativePath>../MavenParent/pom.xml</relativePath>
</parent>
<build>
<finalName>MathWebApp</finalName>
</build>
</project>
MavenParent/pom.xml
<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>org.o7planning</groupId>
<artifactId>MavenParent</artifactId>
<version>1.0.0-SNAPSHOT</version>
<packaging>pom</packaging>
<modules>
<module>../MathLibrary</module>
<module>../MathWebApp</module>
</modules>
</project>
Anleitungen Maven
- Installieren Sie Maven für Eclipse
- Die Anleitung zum Maven für den Anfänger
- Maven Abhängigkeiten verwalten
- Erstellen Sie ein Multiple-Modul-Projekt mit Maven
- Führen Sie die Maven Java-Webanwendung im Tomcat Maven Plugin aus
- Führen Sie die Maven Java-Webanwendung im Jetty Maven Plugin aus
- Installieren Sie Tycho für Eclipse
- Erstellen Sie ein Java OSGi-Projekt mit Maven und Tycho
- Erstellen Sie ein Empty Maven Web App Project in Eclipse
- Einbindung von OSGi und AspectJ
Show More