GEDOPLAN
Entwicklungswerkzeuge

Pfade zu Maven-Dependencies als Properties

Entwicklungswerkzeuge

In Maven-Projekten werden die für Compile, Test oder Runtime benötigten Libaries als Dependencies über ihre Maven-Koordinaten groupId, artifactId und version angemeldet. Im Build-Verlauf werden die JAR-Files dann per Download aus Maven-Repositories im lokalen Repository des Users bereit gestellt.

In manchen Fällen benötigt man für bestimmte Build-Schritte den vollen Pfad der Libraries im lokalen Repository, z. B. um ein solches JAR-File als Java-Agent beim Start von Unit-Tests anzumelden. Das gelingt mit Hilfe der Goals properties des Dependency-Plugins: Es setzt für jede Dependency des Projekts eine Property namens groupId:artifactId:type[:classifier] auf den vollen Pfad des JAR-Files im lokalen Repository.

Ein Beispiel:

<project ... >
  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-dependency-plugin</artifactId>
        <executions>
          <execution>
            <goals>
              <goal>properties</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>

  <dependencies>
    <dependency>
      <groupId>org.eclipse.persistence</groupId>
      <artifactId>org.eclipse.persistence.jpa</artifactId>
      <version>2.5.2</version>
    </dependency>
  <dependencies>

Der volle Pfad der Eclipselink-Bibliothek im lokalen Repository steht nun in der Property org.eclipse.persistence:org.eclipse.persistence.jpa:jar zur Verfügung. Um sie als Agent beim Start von Tests mit Hilfe des Surefire-Plugins zu nutzen, muss somit nur noch die Property argLine passend gesetzt werden:

  <properties>
    <argLine>-javaagent:${org.eclipse.persistence:org.eclipse.persistence.jpa:jar}</argLine>
  </properties>

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Bitte füllen Sie dieses Feld aus.
Bitte füllen Sie dieses Feld aus.
Bitte gib eine gültige E-Mail-Adresse ein.
Sie müssen den Bedingungen zustimmen, um fortzufahren.

Autor

Diesen Artikel teilen

LinkedIn
Xing

Gibt es noch Fragen?

Fragen beantworten wir sehr gerne! Schreibe uns einfach per Kontaktformular.

Kurse

weitere Blogbeiträge

IT-Training - GEDOPLAN
DevOps

Docker Orchestrierung mit Kubernetes

Docker bietet uns eine leichtgewichtige, containerbasierte Form der Virtualisierung, welche sich gut dafür eignet, Anwendungen zu paketieren und auszuliefern. Dabei…

Work Life Balance. Jobs bei Gedoplan

We are looking for you!

Lust bei GEDOPLAN mitzuarbeiten? Wir suchen immer Verstärkung – egal ob Entwickler, Dozent, Trainerberater oder für unser IT-Marketing! Schau doch einfach mal auf unsere Jobseiten! Wir freuen uns auf Dich!

Work Life Balance. Jobs bei Gedoplan

We are looking for you!

Lust bei GEDOPLAN mitzuarbeiten? Wir suchen immer Verstärkung – egal ob Entwickler, Dozent, Trainerberater oder für unser IT-Marketing! Schau doch einfach mal auf unsere Jobseiten! Wir freuen uns auf Dich!