Maven Dependency unklar

kossy

Bekanntes Mitglied
Hallo zusammen !

ich verstehe in dem folgenden Maven Dependency nicht so ganz, was die Einbindung mit dem "exclusions" XML Tag aussagen soll:

[XML]
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-entitymanager</artifactId>
<version>3.3.2.GA</version>
<exclusions>
<exclusion>
<groupId>javax.transaction</groupId>
<artifactId>jta</artifactId>
</exclusion>
</exclusions>
</dependency>
[/XML]

Kann mir das vielleicht jemand erklären?

Grüße
Kossy
 
"hibernate-entitymanager" hat selbst auch wieder Abhängigkeiten, die standardmäßig mit aufgelöst werden (Stichwort transitive Dependencies). Mit dem <exclusions> Element können einzelne transitive Abhängigkeiten ausgeschlossen werden.
 
Hallo hexx,

danke für deinen Beitrag ! Ich hätte noch einmal eine allgemeine Frage zu den Maven Dependencys. Ist es eiegntlich über diese XML Einbingungen auch möglich, JARs in seine Maven projekte einzubinden, die irgendwo auf entfernten Servern außerhalb meines Intranets liegen? Also könnte man über eine URL JARs auch über das Internet einbinden?

Grüße
Kossy
 
Ist es eiegntlich über diese XML Einbingungen auch möglich, JARs in seine Maven projekte einzubinden, die irgendwo auf entfernten Servern außerhalb meines Intranets liegen? Also könnte man über eine URL JARs auch über das Internet einbinden?

Jein. Genau das machst du mit den Dependency Einträgen in der pom.xml ja. Maven sucht in den definierten Remote-Repositories (standardmäßig nur maven-central) nach den Abhängiigkeiten und cached sie in deinem lokalen Repository. Einfach eine direkte URL zu einer Jar Datei angeben geht nicht.
 
Hallo Hexx,

nochmals danke für deine Antwort.

Ich hätte abschließend noch einmal eine andere Frage. Ich kann ja lokal meine Maven Projekte entweder mittels

- mvn clean package -P [name_meines_maven_projektes]

oder

- mvn clean install -P [name_meines_maven_p

bauen. Ich versteh noch nciht so ganz, wann genau ich zwingend welche dieser beiden Befehle benötige.

Grüße
Kossy
 
Beide Befehle machen unterschiedliche Sachen, es kommt drauf an was du machen willst.

package - take the compiled code and package it in its distributable format, such as a JAR.
install - zusätzlich zu package: install the package into the local repository, for use as a dependency in other projects locally

Zur Übersicht:
Maven - Introduction to the Build Lifecycle
 

Neue Themen


Zurück
Oben