2017-11-24 4 views
2

Ich verwende maven-release-plugin Version 2.4.1, und nach dem Ziel der Ausführung mvn release:prepare -DpreparationGoals="clean deploy -Dmaven.test.skip" fand ich, dass nicht nur Version meiner Anwendung geändert wurde, sondern auch fügt sie einen Raum in confuguration in maven-antrun-plugin:Warum ändert maven-release-plugin die pom.xml-Formatierung?

 <plugin> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-antrun-plugin</artifactId> 
     <version>1.7</version> 
     <executions> 
      <execution> 
      <phase>initialize</phase> 
      <configuration> 
       <tasks> 
       <delete includeEmptyDirs="true" dir="com.project.HelloWorld"/> 
       </tasks> 
      </configuration> 
      <goals> 
       <goal>run</goal> 
      </goals> 
      </execution> 
     </executions> 
     </plugin> 

Raum hinzugefügt zwischen "com.project.HelloWorld" und Schrägstrich. Das Problem liegt in der Tatsache, dass xml-format-plugin diesen Raum nach Maven Build entfernen, aber nach jeder Veröffentlichung sehe ich dieses lästige Leerzeichen wieder.

Weiß jemand, warum das passiert ist oder wie man dieses Problem überwinden kann?

+0

Warum ist das xml-format-plugin auf das maven-release-plugin bezogen? Abgesehen davon sollten Sie eine neuere Version von [maven-release-plugin] verwenden (http://maven.apache.org/maven-release/maven-release-plugin/). Darüber hinaus rufen Sie 'release: prepare' you don 'auf t müssen Vorbereitungsziele etc .. – khmarbaise

+1

Was ist das Problem mit einem Leerzeichen zwischen 'HelloWorld" und '/>'? –

+0

Wir haben eine Überprüfung in Jenkins-Pipeline, die nach dem Build-Repository sollte keine nicht nachverfolgten Änderungen enthalten, weil Dies könnte den Sonar-Code-Analyse-Schritt unterbrechen, so dass dieser Raum, der nach der Veröffentlichung erscheint, die Jenkins-Pipeline durchbricht – stinger

Antwort

1

Nach Extensible Markup Language (XML) 1.0 (Fifth Edition) – 3.1 Start-Tags, End-Tags, and Empty-Element Tags ein Raumzeichen ist absolut OK:

Tags zu leeren Elementen

[44] EmptyElemTag :: = '<' Name (S Attribute)* S? '/>' [WGB: Eindeutige Att Spec]

Ärgerlich oder nicht ist eine Frage der POV, IMHO. Ich persönlich bevorzuge sie.

+0

Ich diskutiere nicht, ob es gültig ist oder nicht (ich stimme voll und ganz mit Ihrer Meinung überein), aber ich versuche es zu finden Warum macht dieses Plugin solche Formatierungen? Es ist unsere build \ release Pipeline, also ... – stinger

+0

@stinger Ich verstehe. Ich habe Ihren entsprechenden Kommentar nicht gesehen, bevor ich meine Antwort erstellt habe, also ... –

Verwandte Themen