2012-03-26 5 views
1

Ich führe mein ant-Skript durch Übergabe eines externen Parameters wie -Dversion=1.5.0.0. Es muss alle Vorkommen von VERSION in einer Datei mit der aktuellen Version in geben ersetzen

Ich versuche, dies zu tun.

<replace file="myfile" token="VERSION" value="${version}"/>

Stattdessen sehe ich ${version} direkt in meiner Datei ersetzt , anstatt es auf 1.5.0.0 aufzulösen.

Gibt es eine andere Möglichkeit, dies zu tun?

+0

haben sie versucht, auf [echo] (https://ant.apache.org/manual/Tasks/echo.html) es? das sollte total funktionieren. – oers

Antwort

-1

Sie könnten doppelte Anführungszeichen von $ entfernen möchten {version}

2

Verwenden replacefilter Aufgabe:

<replace file="myfile"> 
<replacefilter  token="VERSION"  property="version"/> 
</replace> 
+0

meinst du: verwende das replacefilter-Tag INSIDE die Ersetze-Aufgabe. – oers

+0

@oers: Das ist richtig ... die Antwort angepasst, um den Kontext zu enthalten – Jayan

0

ich eine Lösung gefunden - hatte einfache Anführungszeichen für den Wert zu verwenden!

Wie so:

<replace file="myfile" token="VERSION" value='${version}'/>

+0

-Dversion = '1.5.0.0'? – oers

+0

Nein, ich habe aktualisiert, was ich jetzt gemacht habe. – Rex

+0

Das kann nicht der Grund sein, warum es funktioniert hat, die Zitate sind nur ein Teil der XML und haben nichts damit zu tun, wie Ameisen funktioniert. Ich vermute, du hast etwas falsch gemacht, vielleicht einen Tippfehler in der Befehlszeile ....? – oers

Verwandte Themen