Frage

Wie Sie aus dem Titel zu sehen, möchte ich darum bitten, dass der Fall in Maven 3 gibt es für $ Version in pom.xml mehr keine Unterstützung. Müssen wir wirklich eine konstant jedes Mal, in jedem Projekt in jedem pom.xml und zugehörige Konfigurationsdateien immer wieder schreiben? Wie können wir dies zu vermeiden tun? Wie können wir eine Versionierung Methode wie $ Version verwenden?

War es hilfreich?

Lösung

Der Ausdruck ${version} veraltet ist, sollten Sie ${project.version} stattdessen verwenden, aber beide werden weiterhin unterstützt und Sie sicherlich nicht brauchen, eine benutzerdefinierte Eigenschaft.

Die folgenden funktioniert gut für mich mit Maven 3:

<dependency>
  <groupId>${project.groupId}</groupId>
  <artifactId>services</artifactId>
  <version>${project.version}</version>
  <type>ejb</type>
</dependency>

Und haben auch einen Blick auf meine Antwort auf Warnung auf project.parent.version als die Version eines Moduls in Maven 3 verwenden, wie Sie version verwenden (auf das, was ich sah, in den Kommentaren in eine andere Antwort) machen nicht viel Sinn IMHO und Maven 3 tatsächlich schlägt gebeten, eine best-Practice zu folgen. erben nur die Version.

Andere Tipps

Mit einem Makro innerhalb des oberen <version/> Elements und die Version in dem <parent/> Elemente arbeitet nie in Maven 2. zur Arbeit erschienen, aber verursachte nichts als Verwirrung downstream. Wenn das nicht das, was Sie sprechen, klären Sie bitte Ihre Frage.

Der Fehler unten zeigt die deprecation von $(artifactId} und ${version}

  

[WARNUNG] Der Ausdruck $ {} artifactId ist veraltet. Bitte verwende   $ {Project.artifactId} statt. [WARNUNG] Der Ausdruck $ {version} ist   veraltet. Bitte verwenden Sie $ {project.version} statt. [WARNUNG]   [WARNUNG] Es wird dringend diese Probleme, weil sie zu beheben empfohlen   bedrohen D ie Stabilität des Builds. [WARNUNG] [WARNUNG] Für diese   Grund Zukunft Maven Versionen möglicherweise nicht mehr unterstützt buildin g solche   malformed Projekte.

Die Warnmeldung spricht es. Ersetzen ${artifactId} mit ${project.artifactId} und ${version} mit ${project.version}

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top