Maven Multi Module Build

delphiking1980

Bekanntes Mitglied
Hallo,

ich habe ein Projekt mit N unterprojekten, welche alle in einer Parent POM.XML als Module gelistet sind.
Nun zu meinem Problem :

wenn ich mvn clean package ausführe dann werden die Module zwar gebaut aber leider auch mein Projekt mit der Dokumentation, d.h. ich habe dann ein JAR Datei mit meiner Doku, mmh aber auf diesen Ordner soll er ein mvn site ausführen. und kein mvn package.

Wo muss ich das ganze denn konfigurieren ?

Danke für jede hilfe.
 

kama

Top Contributor
Hi,
lass mal die pom's sehen...ohne wird das schwierig...

Ist das ein Multi-Module oder ein aggregations build ? Sprich habe die Kinder einen parent Eintrag der auf die Parent pom verweist ?

Was machst Du in dem Dokumentations Module ?

Gruß
Karl-Heinz Marbaise
 

tagedieb

Top Contributor
Dann wuerd ich das Documentationsprojekt nicht als [XML] <packaging>jar</packaging>
[/XML]definieren, sondern als zip oder pom.
 

delphiking1980

Bekanntes Mitglied
Hier ist meine POM.XML vom Parent Projekt :

[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>de.xxx</groupId>
<artifactId>XXX</artifactId>
<version>0.0.47-SNAPSHOT</version>
<packaging>pom</packaging>
<name>XXX</name>
<description>MasterProject to union all build tasks</description>

<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-release-plugin</artifactId>
<version>2.2.2</version>
<configuration>
<autoVersionSubmodules>true</autoVersionSubmodules>
<pushChanges>false</pushChanges>
<tagNameFormat>REL-@{project.version}</tagNameFormat>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version>
<configuration>
<source>1.5</source>
<target>1.5</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<version>2.9.1</version>
<configuration>
<configLocation>${basedir}/../../build-dependencies/checkstyle.xml</configLocation>
</configuration>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>findbugs-maven-plugin</artifactId>
<version>2.3.2</version>
<configuration>
<excludeFilterFile>${basedir}/../../build-dependencies/findBugs-excludes.xml</excludeFilterFile>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-pmd-plugin</artifactId>
<version>2.7.1</version>
<configuration>
<rulesets>
<!-- Custom local file system rule set -->
<ruleset>${basedir}/../../build-dependencies/pmd-rulesets.xml</ruleset>
</rulesets>
<targetJdk>1.5</targetJdk>
<minimumTokens>200</minimumTokens>
</configuration>
</plugin>
</plugins>

</build>

<dependencies>
<dependency>
<groupId>websphere</groupId>
<artifactId>com.ibm.ws.webcontainer</artifactId>
<version>2.0.0</version>
<type>jar</type>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>websphere</groupId>
<artifactId>j2ee</artifactId>
<version>7.0.0.11</version>
<type>jar</type>
<scope>provided</scope>
</dependency>
<!--
<dependency> <groupId>com.ibm.websphere.appserver</groupId>
<artifactId>runtime</artifactId> <version>6.1.0.35</version>
<type>pom</type> <scope>provided</scope> </dependency>
-->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.10</version>
<scope>compile</scope>
</dependency>

<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.1.1</version>
</dependency>

<dependency>
<groupId>commons-lang</groupId>
<artifactId>commons-lang</artifactId>
<version>2.6</version>
<type>jar</type>
<scope>compile</scope>
</dependency>
</dependencies>

<properties>
<project.build.sourceEncoding>Cp1252</project.build.sourceEncoding>
</properties>
<modules>
<module>./P1</module>
<module>./P2</module>
<module>./P3</module>
<module>./P4</module>
<module>./P5Doc</module>
</modules>
</project>
[/XML]

Das P5Doc Verzeichnis soll nicht gebaut sondern eigentlich ein mvn site drauf gemacht werden.
 

kama

Top Contributor
Hi,

Ok. und wie sieht die P5Doc pom.xml aus? Was machst Du da?

Man könnte P5Doc seperat über ein Profile steuern....

so in der Art:
Code:
   <modules>
       <module>./P1</module>
       <module>./P2</module>
       <module>./P3</module>
       <module>./P4</module>
   </modules>

  <profiles>
    <profile>
      <id>site</id>
      <modules>
        <module>P5Doc</module>
      </modules>
    </profile>
 </profiles>

ABER: Die Frage ist warum P5Doc überhaupt ausgeführt wird? Was für ein Packaging hast Du gesetzt?

Weiterhin ist die Frage wie Du den build aufrufst?

Code:
mvn clean package
Sollte kein Problem darstellen...für Sachen im Reporting...


Abgesehen davon sind mir ein paar Dinge aufgefallen:

1. Warum ist junit im scope compile und nicht scope test?
2. Warum verwendest Du referenzen außerhalb des aktuellen Projektes (../../checkstyle etc.)
Das macht den Build nicht portable... Abgesehen davon gibt es
für PMD, Checkstyle etc. entsprechende Möglichkeiten das anders zu machen...


Gruß
Karl-Heinz Marbaise
 

delphiking1980

Bekanntes Mitglied
[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">
<parent>
<artifactId>XXX</artifactId>
<groupId>de.xxxs</groupId>
<version>0.0.47-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>
<groupId>de.xxx</groupId>
<artifactId>xxx</artifactId>
<packaging>pom</packaging>
<version>0.0.47-SNAPSHOT</version>
<name>xxx</name>
<properties>
<maven-latex-plugin.version>1.2</maven-latex-plugin.version>
</properties>

<build>
<plugins>
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.7</version>
<executions>
<execution>
<id>writeVersionnumberToLaTex</id>
<phase>pre-site</phase>
<configuration>
<tasks>
<exec dir="${basedir}" executable="cmd" failonerror="true">
<arg value="/C" />
<arg
value="echo ${project.version} > ${basedir}\src\main\latex\version\version.tex" />
</exec>
</tasks>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>


</executions>
</plugin>
<plugin>
<groupId>de.akquinet.jbosscc.latex</groupId>
<artifactId>maven-latex-plugin</artifactId>
<version>${maven-latex-plugin.version}</version>
<configuration>
<settings>

<cleanUp>true</cleanUp>

<!--
all tex main documents in this folder (including subfolders) will
be processed
-->
<texDirectory>${basedir}/src/main/latex</texDirectory>

<!-- the latex command -->
<texCommand>pdflatex</texCommand>
<!-- the bibtex command -->
<bibtexCommand>bibtex</bibtexCommand>

<texCommandArgs>
<texCommandArg>-interaction=nonstopmode</texCommandArg>
<texCommandArg>--src-specials</texCommandArg>
</texCommandArgs>

</settings>
</configuration>
<executions>
<execution>
<phase>site</phase>
<goals>
<goal>latex</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
[/XML]
 

kama

Top Contributor
hi,

warum hast Du denn den
Code:
<relativePath>../../pom.xml</relativePath>
drin?

Der verweist ja auf eine POM noch weiter oben...? Sehr komisch?...Warum überhaupt und nicht einfach:

Code:
 <parent>
        <artifactId>XXX</artifactId>
        <groupId>de.xxxs</groupId>
        <version>0.0.47-SNAPSHOT</version>
    </parent>

Abgesehen davon wenn Du auf der Ebene der Parent POM...ich gehe mal von so was hier aus:

Code:
 projekt
  +-- pom.xml (projekt-parent)
  !
  +-- P1
  !      +-- pom.xml (parent: projekt-parent)
  !
  +-- P2
  !      +-- pom.xml (parent: projekt-parent)
  !
  +-- P5Doc
  !      +-- pom.xml (parent: projekt-parent)

So dann ist der Richtige Weg der Aufruf:

Code:
  cd projekt
  mvn clean package
..
  oder 
  mvn site

Weiterhin die Frage warum Du LaTeX zur Dokumentation nutzt ? Ok Ok..DocBook ist auch eine sehr gute alternative und prodoziert auf PDF's ...

Abgesehen davon würde mich interessieren warum Du nicht das Plugin:

LaTeX Maven Plugin - Introduction

verwendest ?

Gruß
Karl-Heinz Marbaise
 

delphiking1980

Bekanntes Mitglied
Die Idee das mit mvn latex:latex zu lösen ist ja nicht schlecht das beispiel welches sich auf der Seite befindet funktioniert auch nur leider habe ich eine andere Ordner struktur als es das Plugin zuläßt
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
B maven multi module Projekt und unnötige/zusätzliche Leerzeilen Tools - Maven, Gradle, Ant & mehr 4
C Maven Multi-Module Projekt Tools - Maven, Gradle, Ant & mehr 2
K Jenkins Konfiguration für einen multi-module Maven Projekt Tools - Maven, Gradle, Ant & mehr 2
Oneixee5 Maven deploy - per SSH Tools - Maven, Gradle, Ant & mehr 6
H Maven kein Hauptmanifestattribut Tools - Maven, Gradle, Ant & mehr 10
M Programm mit Maven erstellen und starten samt Abhängigkeiten Tools - Maven, Gradle, Ant & mehr 27
D Interne Dependencies in Maven Tools - Maven, Gradle, Ant & mehr 51
J log4j2 mit Hibernate über Maven Tools - Maven, Gradle, Ant & mehr 10
thor_norsk Maven Build Failed: kann nicht von start.spring.io generiertes Projekt auf IntelliJ IDE starten Tools - Maven, Gradle, Ant & mehr 8
H Maven JUnit5 Tests werden ignoriert Tools - Maven, Gradle, Ant & mehr 5
thor_norsk Maven Tools - Maven, Gradle, Ant & mehr 32
ExceptionOfExpectation Maven Build Failed: kann nicht von start.spring.io generiertes Projekt auf Eclipse starten Tools - Maven, Gradle, Ant & mehr 20
Ich kann Maven nicht als UmgebungsVariable hinzufügen Tools - Maven, Gradle, Ant & mehr 2
F Maven JAR Plugin Probleme Tools - Maven, Gradle, Ant & mehr 4
W Was "braucht" man denn alles? Maven, Ant, Git, ... Tools - Maven, Gradle, Ant & mehr 21
N Fehler beim Imgui mit Maven Tools - Maven, Gradle, Ant & mehr 7
M Spring Boot Maven pom.xml-Eintrag Tools - Maven, Gradle, Ant & mehr 17
Encera JavaFX und Maven funktioniert nicht Tools - Maven, Gradle, Ant & mehr 1
J Maven Konfusion Tools - Maven, Gradle, Ant & mehr 7
Tippster Maven Sqlite integrieren (Eclipse, Maven) Tools - Maven, Gradle, Ant & mehr 4
T Image kreieren mit Maven bei JavaFX und nicht modularen Jars Tools - Maven, Gradle, Ant & mehr 12
T JSON Dependencies in Maven Tools - Maven, Gradle, Ant & mehr 7
T JavaFX, Jar über Maven kreieren Tools - Maven, Gradle, Ant & mehr 2
Encera Libraries Maven Projekt hinzufügen Tools - Maven, Gradle, Ant & mehr 9
Oneixee5 Maven Phase Tools - Maven, Gradle, Ant & mehr 3
Robertop maven copy-resources nicht in WAR Datei Tools - Maven, Gradle, Ant & mehr 2
T Maven: Probleme beim Einbinden der Dependencies Tools - Maven, Gradle, Ant & mehr 9
M Mit Maven eine jar Datei bauen ohne irgendeine main Methode Tools - Maven, Gradle, Ant & mehr 1
M Mit Maven eine jar Datei Bauen ohne irgendeine main Methode Tools - Maven, Gradle, Ant & mehr 18
H Maven Maven: <mainClass>NAME?</mainClass> Tools - Maven, Gradle, Ant & mehr 13
H Maven maven-source-plugin is missing Tools - Maven, Gradle, Ant & mehr 5
M Missing Artifact on selbst gehostestes Maven Paket Tools - Maven, Gradle, Ant & mehr 8
M Error code 409 maven Tools - Maven, Gradle, Ant & mehr 5
M github + maven Fehler beim repository erstellen Tools - Maven, Gradle, Ant & mehr 1
M durch Maven wird "var" nicht gefunden Tools - Maven, Gradle, Ant & mehr 4
N Maven Intellij Maven Projekt erstell keine src Tools - Maven, Gradle, Ant & mehr 4
LimDul Maven Einzelne Unit Tests in Maven Builds skippen Tools - Maven, Gradle, Ant & mehr 3
M Maven jpackage-image wird nicht gefunden Tools - Maven, Gradle, Ant & mehr 22
M javafx wird in einem alten programm nicht bei maven gefunden Tools - Maven, Gradle, Ant & mehr 15
L Maven IntelliJ, Maven und JavaFX + SceneBuilder Tools - Maven, Gradle, Ant & mehr 23
von Spotz Maven und Spring: "Add to classpath" ? Tools - Maven, Gradle, Ant & mehr 29
Kirby.exe Projekt mit Maven kompilieren Tools - Maven, Gradle, Ant & mehr 13
P Maven Projekt Abhängigkeiten auf bekante Schwachstellen prüfen Tools - Maven, Gradle, Ant & mehr 4
H Maven dependency Problem ? Tools - Maven, Gradle, Ant & mehr 23
B Maven und Intellij Tools - Maven, Gradle, Ant & mehr 24
P Maven Test werden nicht ausgeführt . Junit . Maven . Surefire . Eclipse Tools - Maven, Gradle, Ant & mehr 12
yakazuqi Maven Eigene API mit Maven einbinden Tools - Maven, Gradle, Ant & mehr 1
M Was ist besser für den Anfang, Maven oder Gradle? Tools - Maven, Gradle, Ant & mehr 6
P Maven Wie die Maven Project version in JSP page verwenden? Tools - Maven, Gradle, Ant & mehr 2
T Maven Warnings/Fehlermeldungen Tools - Maven, Gradle, Ant & mehr 12
T Maven und Datenbank(treiber) Tools - Maven, Gradle, Ant & mehr 13
T Maven Runnable Jar Tools - Maven, Gradle, Ant & mehr 5
T Grundlagen Maven und Git/Github Tools - Maven, Gradle, Ant & mehr 2
LimDul Maven Maven Surefire Plugin - Warnings upgrade Tools - Maven, Gradle, Ant & mehr 2
G Maven upload Tools - Maven, Gradle, Ant & mehr 0
K Maven - Parent oder Dependency? Tools - Maven, Gradle, Ant & mehr 5
B Maven Maven deploy Tools - Maven, Gradle, Ant & mehr 4
H Jenkins keine Tests gefunden - aber in Maven Tools - Maven, Gradle, Ant & mehr 30
P Mit Maven einen spezifischen Branch nach Tag-Parameter erstellen (in Jenkins-Job) Tools - Maven, Gradle, Ant & mehr 3
P Nur einen Teilbaum in Maven releasen? Tools - Maven, Gradle, Ant & mehr 7
D Cannot invoke "javafx.scene.control.MenuButton.getScene()" nach konvertierung zu maven Tools - Maven, Gradle, Ant & mehr 3
H Maven - keine Durchführung von Tests Tools - Maven, Gradle, Ant & mehr 12
H Jenkins - maven-jar-plugin - kein jar-file Tools - Maven, Gradle, Ant & mehr 38
P JavaFX jar mit Maven Tools - Maven, Gradle, Ant & mehr 9
P Maven & Intellij Modul kann nicht aufgelöst werden Tools - Maven, Gradle, Ant & mehr 12
H Eclipse JUnit erzeugt Fehler im Maven-Test Tools - Maven, Gradle, Ant & mehr 1
H Maven Anfängerproblem - No plugin found for prefix 'archetype' in the current project and in the plugin groups Tools - Maven, Gradle, Ant & mehr 25
sascha-sphw Maven vs Gradle Tools - Maven, Gradle, Ant & mehr 24
D Maven Maven und die Build-Geschwindigkeit Tools - Maven, Gradle, Ant & mehr 11
K Maven IntelliJ + Maven + JavaFX Tools - Maven, Gradle, Ant & mehr 2
J Maven Mit Maven eine ZIP Datei erstellen Tools - Maven, Gradle, Ant & mehr 0
K Maven install schlägt fehl Tools - Maven, Gradle, Ant & mehr 10
I Problem: Maven import extern Lib Tools - Maven, Gradle, Ant & mehr 3
Tom299 Maven Maven funktioniert nach Installation nicht Tools - Maven, Gradle, Ant & mehr 1
I Maven Interface hinzugefügt - Error Tools - Maven, Gradle, Ant & mehr 1
M Verständnisfrage Maven Tools - Maven, Gradle, Ant & mehr 2
S Maven installieren - "Befehl wurde nicht gefunden" Tools - Maven, Gradle, Ant & mehr 1
E Maven: Wie Abhängigkeiten analysieren? Tools - Maven, Gradle, Ant & mehr 0
E Maven Maven distributionManagement Vererbung in child POM Tools - Maven, Gradle, Ant & mehr 8
P Maven Parent- Child POMs Tools - Maven, Gradle, Ant & mehr 13
E Release Kandidaten mit Maven bauen Tools - Maven, Gradle, Ant & mehr 4
C Orderstruktur bei Libarys - Wie mit Ant oder Maven lösen? Tools - Maven, Gradle, Ant & mehr 0
G Maven, finde Dependency nicht... Tools - Maven, Gradle, Ant & mehr 2
G Maven Continious Integration mit Jenkins, Maven und Nexus - wie richtig? Tools - Maven, Gradle, Ant & mehr 1
P Maven Parent und Child Poms - dependencies Tools - Maven, Gradle, Ant & mehr 1
reibi Maven Maven + Eclipse Tools - Maven, Gradle, Ant & mehr 0
P Maven add resource Tools - Maven, Gradle, Ant & mehr 0
D [Maven Pluginentwicklung] - Plugin das nur auf Parent pom läuft Tools - Maven, Gradle, Ant & mehr 0
S Maven Maven und Auflösen von JSF EL Tools - Maven, Gradle, Ant & mehr 5
H Maven HSQLDB in den Maven lifecycle einbinden Tools - Maven, Gradle, Ant & mehr 5
S Maven Unterschiedliche Deployments mit Maven Tools - Maven, Gradle, Ant & mehr 2
S Maven buildnumber-maven-plugin / Formatproblem mit timestamp Tools - Maven, Gradle, Ant & mehr 17
P Erzeugen von WebServices mit Maven und Eclipse (external Tool) Tools - Maven, Gradle, Ant & mehr 2
aze Maven downgraden von 3.x auf 2.09 unter Linux Tools - Maven, Gradle, Ant & mehr 4
Rudolf JSF und Maven mit Eclipse Tools - Maven, Gradle, Ant & mehr 5
M Maven-Dependency kann nicht gefunden werden Tools - Maven, Gradle, Ant & mehr 2
M Maven imports aus Modulen Tools - Maven, Gradle, Ant & mehr 4
P multimodul maven in SVN Tools - Maven, Gradle, Ant & mehr 3
D [Maven] neuerdings "No plugin found for prefix ..." errors Tools - Maven, Gradle, Ant & mehr 7
C Automatisches Deployen in ein externes Maven Repository. Tools - Maven, Gradle, Ant & mehr 5

Ähnliche Java Themen

Neue Themen


Oben