Announcement

Collapse
No announcement yet.

Maven mergen zweier Maven Projekte anhand der pom.xml

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Maven mergen zweier Maven Projekte anhand der pom.xml

    Hallo,

    ich hoffe hier Antworten auf meine Frage zu erlangen, denn Google gibt mir wenig bis gar keine hilfreichen Treffer.

    Ich habe ein Projekt, welches Security etc. beinhaltet, dieses ist das Basisprojekt für alle anderen Projekte. Dieses beinhaltet z.B. Benutzerverwaltung, Rollenverwaltung, Gruppenverwaltung etc.

    Nun will ich z.B. ein Projekt für Gebäudereinigung erstellen, welches auch ein eigenständiges Mavenprojekt sein soll, aber das Security Projekt soll als Basis Projekt in dieses gemerged werden, anhand der pom.xml.

    Gibt es da Möglichkeiten ein komplettes Maven Projekt in ein anderes Maven Projekt über die pom.xml rein zu laden?

    Danke für hilfreiche Antworten.

  • #2
    Ja, in dem du eine Parent Maven Projekt erstellst, welches dann beide Unterprojekte enthält.

    In deinem Fall erscheint es jedoch sinnvoller, das erzeugte JAR aus dem Security Projekt in andere als Abhängigkeit einzubinden und dies aus dem Artefactory zu laden. Warum willst du immer wieder ein "fertiges" Projekt (Security) deployen?
    Christian

    Comment


    • #3
      Das leuchtet irgendwie ein. Heißt ich kann aus dem Maven Security Projekt ein JAR File erzeugen, welches ich dann dem lokalen Maven Repo zuteile und dieses Security Projekt kann ich dann als Dependency in ein anderes Maven Projekt rein laden? Habe ich das soweit richtig verstanden? Was ist dann mit der POM des Security Projektes? Muss ich da irgendwas in das andere Maven Projekt übernehmen?

      Danke für die Infos.

      Comment


      • #4
        Ja das kannst du. Mit der POM passiert nix, ausser das sie ein JAR erzeugt
        Christian

        Comment


        • #5
          Ok, danke erst mal für deine Antwort. Also läuft dann das ganze übernommene Projekt da auch ganz normal. Ich werde es demnächst probieren um zu setzen und dann noch mal eine Rückmeldung geben.

          Comment


          • #6
            Doch eine Frage habe ich da noch, in dem Security Projekt sind schon Spring, Jersey, Jackson etc. enthalten und in dieser POM. Muss ich da etwas in das andere Projekt übernehmen, oder ist das dann über das JAR File des Security Projektes alles mit dabei?

            Comment


            • #7
              Das ist üblicherweise im JAR nicht dabei
              Die sollten aufgelöst werden, wenn du dein JAR hinzufügst
              Christian

              Comment


              • #8
                Originally posted by Christian Marquardt View Post
                Die sollten aufgelöst werden, wenn du dein JAR hinzufügst
                Wie meinst du das genau, aufgelöst werden?

                Comment


                • #9
                  Hallo, ich brauche dann allgemein doch etwas Hilfe. Ich habe nun gelesen das das bilden eines JAR Files mit Maven über das Maven Assembly Plugin geht. Jedoch habe ich das Problem das ich 5 Source Folder mit Packeges und Klassen habe, welche alle in das JAR File hinein müssen, um dieses JAR File dann in einem neuen Maven Projekt nutzen zu können.

                  Wie kann ich das umsetzen, dass alle Klassen aus den Packages, welche sich in den 5 Source Foldern befinden gepackt werden?

                  Vielen Dank für die Zeit und Hilfe.

                  Comment


                  • #10
                    Ist das Projekt mit [packaging] jar [packaging] ausgezeichnet, wird im TARGET-Verzeichnis das jar erzeugt ohne zusätzliche Plugins.

                    http://www.mkyong.com/maven/how-to-c...le-with-maven/

                    Hier wird das nur noch benutzt um in der Manifestdatei die Startklasse anzugeben
                    Zuletzt editiert von Christian Marquardt; 03.02.2015, 13:01.
                    Christian

                    Comment


                    • #11
                      Nein das Projekt selber ist mit packaging war in der pom.xml ausgezeichnet. Im Target Ordner liegen nur die pom.xml pom.properties und eine MANIFEST.MF Datei.

                      Ich momentan nicht was ich wie verändern muss. Ich habe nämlich das Basisprojekt nun fertig und möchte daraus ein JAR File machen.

                      Comment


                      • #12
                        Wozu erzeugt du ein war, wenn du ein jar willst -> siehe Link

                        Im Target-Verzeichnis sollte keine pom.xml liegen -> wird bei clean aufgeräumt
                        Christian

                        Comment


                        • #13
                          Ich hatte zu Beginn maven clean install ausgeführt und dann lag alles so in den Ordnern wie ich beschrieben habe. Aber um das Projekt auf dem Tomcat Server auszuführen muss es doch ein war File sein oder nicht?

                          Comment


                          • #14
                            Sorryaber da läuft doch ein Menge schief. Was nun jar oder war?
                            Ein install führt nicht dazu, dass die pom.xml irgendwo hin kopiert wird
                            Christian

                            Comment


                            • #15
                              Ich poste mal meine ganze pom.xml

                              Momentan bin ich grad sehr verwirrt und weiß nicht wirklich wo mein Fehler liegt.

                              So habe ich es aus einem Tutorial gelesen.

                              Code:
                              <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>deconFm_Version5</groupId>
                              	<artifactId>decon_fm_version5</artifactId>
                              	<packaging>war</packaging>
                              	<version>0.0.2</version>
                              	<name>decon_fm_version5 Maven Webapp</name>
                              	<url>http://maven.apache.org</url>
                              	
                              	<properties>
                              		<junit.version>4.9</junit.version>
                              		
                              		<spring.version>3.2.0.RELEASE</spring.version>
                              		
                              		<hibernate.core>3.3.2.GA</hibernate.core>
                              		<hibernate.annotations>3.4.0.GA</hibernate.annotations>
                              		<javax.persistence>1.0</javax.persistence>
                              		<javassist.version>3.12.1.GA</javassist.version>
                              		<c3p0.version>0.9.1.2</c3p0.version>
                              		<postgresql.version>9.1-901.jdbc4</postgresql.version>
                              		
                              		<jersey.version>1.13</jersey.version>
                              		
                              		<jackson.version>1.9.13</jackson.version>
                              		
                              		<servlet.version>2.5</servlet.version>
                              		
                              		<org.slf4j.version>1.7.2</org.slf4j.version>
                              		<log4j.version>1.2.16</log4j.version>
                              		
                              		<commons.collections.version>3.2.1</commons.collections.version>
                              <!-- 		<commons.lang.version>2.3</commons.lang.version> -->
                              	</properties>
                              	
                              	<dependencies>
                              		<dependency>
                              			<groupId>junit</groupId>
                              			<artifactId>junit</artifactId>
                              			<version>${junit.version}</version>
                              			<scope>test</scope>
                              		</dependency>
                              		
                              		<!-- Spring Komponenten -->
                              		<dependency>
                              			<groupId>org.springframework</groupId>
                              			<artifactId>spring-core</artifactId>
                              			<version>${spring.version}</version>
                              		</dependency>
                              		
                              		<dependency>
                              			<groupId>org.springframework</groupId>
                              			<artifactId>spring-context</artifactId>
                              			<version>${spring.version}</version>
                              		</dependency>
                              		
                              		<dependency>
                              			<groupId>org.springframework</groupId>
                              			<artifactId>spring-orm</artifactId>
                              			<version>${spring.version}</version>
                              		</dependency>
                              		
                              		<dependency>
                              			<groupId>org.springframework</groupId>
                              			<artifactId>spring-web</artifactId>
                              			<version>${spring.version}</version>
                              		</dependency>
                              		
                              		<dependency>
                              			<groupId>org.springframework</groupId>
                              			<artifactId>spring-test</artifactId>
                              			<version>${spring.version}</version>
                              			<scope>test</scope>
                              		</dependency>
                              		
                              		<dependency>
                              			<groupId>org.springframework</groupId>
                              			<artifactId>spring-context-support</artifactId>
                              			<version>${spring.version}</version>
                              		</dependency>
                              		
                              		
                              		<!-- Datenbank Komponenten -->
                              		<dependency>
                              			<groupId>org.hibernate</groupId>
                              			<artifactId>hibernate-core</artifactId>
                              			<version>${hibernate.core}</version>
                              		</dependency>
                              		
                              		<dependency>
                              			<groupId>org.hibernate</groupId>
                              			<artifactId>hibernate-annotations</artifactId>
                              			<version>${hibernate.annotations}</version>
                              		</dependency>
                              		
                              		<dependency>
                              			<groupId>javax.persistence</groupId>
                              			<artifactId>persistence-api</artifactId>
                              			<version>${javax.persistence}</version>
                              		</dependency>
                              		
                              		<dependency>
                              			<groupId>javassist</groupId>
                              			<artifactId>javassist</artifactId>
                              			<version>${javassist.version}</version>
                              		</dependency>
                              		
                              		<dependency>
                              			<groupId>c3p0</groupId>
                              			<artifactId>c3p0</artifactId>
                              			<version>${c3p0.version}</version>
                              		</dependency>
                              		
                              		<dependency>
                              			<groupId>postgresql</groupId>
                              			<artifactId>postgresql</artifactId>
                              			<version>${postgresql.version}</version>
                              		</dependency>
                              		
                              		<!-- Jersey Komponenten -->
                              		<dependency>
                              			<groupId>com.sun.jersey</groupId>
                              			<artifactId>jersey-server</artifactId>
                              			<version>${jersey.version}</version>
                              		</dependency>
                              		
                              		<dependency>
                              			<groupId>com.sun.jersey</groupId>
                              			<artifactId>jersey-json</artifactId>
                              			<version>${jersey.version}</version>
                              		</dependency>
                              		
                              		<!-- Apache Components -->
                              		<dependency>
                              			<groupId>commons-lang</groupId>
                              			<artifactId>commons-lang</artifactId>
                              			<version>2.3</version>
                              		</dependency>
                              		
                              		<!-- Jersey - Spring Integration -->
                              		<dependency>
                              			<groupId>com.sun.jersey.contribs</groupId>
                              			<artifactId>jersey-spring</artifactId>
                              			<version>1.13</version>
                              			<exclusions>
                              				<exclusion>
                              					<groupId>org.springframework</groupId>
                              					<artifactId>spring</artifactId>
                              				</exclusion>
                              				<exclusion>
                              					<groupId>org.springframework</groupId>
                              					<artifactId>spring-core</artifactId>
                              				</exclusion>
                              				<exclusion>
                              					<groupId>org.springframework</groupId>
                              					<artifactId>spring-web</artifactId>
                              				</exclusion>
                              				<exclusion>
                              					<groupId>org.springframework</groupId>
                              					<artifactId>spring-beans</artifactId>
                              				</exclusion>
                              				<exclusion>
                              					<groupId>org.springframework</groupId>
                              					<artifactId>spring-context</artifactId>
                              				</exclusion>
                              				<exclusion>
                              					<groupId>org.springframework</groupId>
                              					<artifactId>spring-aop</artifactId>
                              				</exclusion>
                              			</exclusions>
                              		</dependency>
                              		
                              		<!-- Jackson -->
                              		<dependency>
                              			<groupId>org.codehaus.jackson</groupId>
                              			<artifactId>jackson-mapper-asl</artifactId>
                              			<version>${jackson.version}</version>
                              		</dependency>
                              		
                              		<!-- Servlet -->
                              		<dependency>
                              			<groupId>javax.servlet</groupId>
                              			<artifactId>servlet-api</artifactId>
                              			<version>${servlet.version}</version>
                              		</dependency>
                              		
                              		<!-- Logging Komponenten -->
                              		<dependency>
                              			<groupId>org.slf4j</groupId>
                              			<artifactId>slf4j-api</artifactId>
                              			<version>${org.slf4j.version}</version>
                              		</dependency>
                              		<dependency>
                              			<groupId>org.slf4j</groupId>
                              			<artifactId>slf4j-log4j12</artifactId>
                              			<version>${org.slf4j.version}</version>
                              		</dependency>
                              		<dependency>
                              			<groupId>log4j</groupId>
                              			<artifactId>log4j</artifactId>
                              			<version>${log4j.version}</version>
                              		</dependency>
                              		<dependency>
                              			<groupId>commons-collections</groupId>
                              			<artifactId>commons-collections</artifactId>
                              			<version>${commons.collections.version}</version>
                              		</dependency>
                              	</dependencies>
                              	<build>
                              		<finalName>${project.artifactId}</finalName>
                              		<plugins>
                              			<plugin>
                              				<groupId>org.apache.maven.plugins</groupId>
                              				<artifactId>maven-compiler-plugin</artifactId>
                              				<version>3.1</version>
                              				<configuration>
                              					<verbose>false</verbose>
                              					<fork>true</fork>
                              					<executable>${JAVA_HOME}/javac</executable>
                              					<source>1.7</source>
                              					<target>1.7</target>
                              				</configuration>
                              			</plugin>
                              		</plugins>
                              	</build>
                              </project>

                              Comment

                              Working...
                              X