Wir verwendeten ant für das Bauen (ein riesiges) Projekt und (aus Legacy-Gründen) verschachtelten wir Eigenschaften innerhalb von Eigenschaftendateien ziemlich tief.Nest-Eigenschaften in Eigenschaften (in Eigenschaften) (ant auf maven migration)
(innen build.xml zum Beispiel)
<ant dir="${object.build.dir}" target="deploy" />
(innerhalb einer Eigenschaft Datei :)
object.build.dir=${base.dir}
(innerhalb einer anderen Eigenschaft Datei (manchmal sogar gleich)):
base.dir=${env}/some/dir
Dann, weil die Ameise nicht mehr so aktuell ist, ziehen wir jetzt nach Maven, was ein Albtraum wäre ...
Die Frage ist: Wie lesen Sie die Eigenschaften, die das Ergebnis der Verschachtelung Eigenschaften innen Eigenschaften für bis 5 Ebenen tief manchmal sind ...
(als Test)
Filter/top_level. Eigenschaften:
env=test
Filter/test/mid_level.properties:
specific=spec
Filter/top_level.properties könnte auch (für eine andere Umgebung) lesen:
env=prod
und so Filter/prod/mid_level.properties:
specific=spock
Die Frage läuft darauf hinaus, dieses:
Wie lese/verwende ich eine 'spezifische' Eigenschaft, die in einer Eigenschaftendatei definiert ist, für die der Pfad in einer anderen Eigenschaftendatei definiert ist?) (Und diese Art der Verschachtelung überall?)
Dies betrifft auch nicht "Ressourcen" (diese sind auch beteiligt, aber nicht das Hauptproblem, Ressourcen sind Eigenschaften, die von der Anwendung verwendet werden, die Eigenschaften, über die ich spreche, sind Eigenschaften, die nur zur Erstellungszeit verwendet werden die Build geschieht)
ich eine Antwort gefunden, aber wenn es ein besseres ist würde ich froh sein, dass als beste Antwort zu wählen ...
S.
Ihre Eigenschaften sehen wie ein Setup für verschiedene Umgebungen aus, das nie eine gute Idee ist, Eigenschaften für weder in Ant noch in Maven zu verwenden. ..May be you können Sie hier einen Blick darauf werfen: https://github.com/khmarbaise/multienv-maven-plugin...Weiterhin gehe ich davon aus, dass Sie jedes Mal für jede Eigenschaft bauen, was für dev, prod etc. bedeutet Arbeite nicht in Maven ... baue nur einmal und produziere alle benötigten Outputs in einem Lauf ... – khmarbaise
hey, danke, ich werde es mir mal anschauen, S. – Bamboomy