ich Maven Eigenschaften passieren versuchen (definiert durch Profile) auf eine antrun Ausführung:Maven antrun: pass Maven Eigenschaften Ameise
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.7</version>
<dependencies>
<!-- ... these are ok -->
</dependencies>
<executions>
<execution>
<configuration>
<target>
<property name="ant_destDir" value="${destDir}" />
<property name="ant_serverDeploy" value="${serverDeploy}" />
<property name="ant_deployDir" value="${deployDir}" />
<property name="ant_userDeploy" value="${userDeploy}" />
<property name="ant_passwordDeploy" value="${passwordDeploy}" />
<!-- correct task definitions for sshexec and scp -->
<sshexec host="${serverDeploy}" username="${userDeploy}"
password="${passwordDeploy}" trust="yes"
command="some command" />
<scp remoteTodir="${userDeploy}@${serverDeploy}:${destDir}"
password="${passwordDeploy}" trust="yes" sftp="true">
<fileset dir="${deployDir}" includes="*.jar" />
</scp>
<sshexec host="${serverDeploy}" username="${userDeploy}"
password="${passwordDeploy}" trust="yes"
command="some command" />
</target>
</configuration>
<phase>install</phase>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
Die Eigenschaften werden in Profilen definiert für den Einsatz in verschiedenen Servern zu ermöglichen, (ich weiß, es ist nicht die beste Ansatz, aber das ist die Art und Weise die Dinge hier geschehen), wie folgt aus:
<profile>
<id>aprofile</id>
<properties>
<property name="serverDeploy" value="somevalue" />
<property name="userDeploy" value="someuser" />
<property name="passwordDeploy" value="somepassword" />
<!-- and so on -->
</properties>
</profile>
Mein Problem ist, dass ich nicht maven Eigenschaften bekommen kann in ant-Plugin zu arbeiten; Ich habe versucht, eine <echoproperties>
Aufgabe in Ameisen hinzuzufügen, um zu sehen, welche Eigenschaften ich habe, und es gibt keine Spur von maven Eigenschaften. Ist es möglich, definierte Eigenschaften zu verwenden oder sollte ich einen anderen Ansatz verwenden? Jeder Vorschlag ist willkommen.
Edit: Ich änderte das Skript als pro erster Antwort, ist es noch nicht
@RiccardoCossu Ich habe ein Testprojekt erstellt, das nur ein einzelnes Pom enthielt (Ich habe meine Antwort bearbeitet, um den kompletten Pom einzuschließen). Wie in der Antwort beschrieben, wenn ich maven ausführe, wird die Eigenschaft im antrun-Aufruf korrekt ersetzt. Welche Version von Maven benutzt du? – DB5
Ich habe Ihr Testprojekt ausprobiert und es funktioniert; Ich muss immer noch verstehen, warum es in meinem speziellen Fall nicht funktioniert ... :-(Ich benutze 3.0.4 –
hab es geschafft! Ich fiel in eine Schleife der Verwirrung zwischen Ameisen und Maven ... Ich erklärte die Eigenschaft der "ant" -Weg im Maven-Teil (mit einem Tag namens property, anstelle des benutzerdefinierten Namens) –