Obwohl ich seit einiger Zeit in Java arbeite, gibt es viele kleine Dinge, die ich ignoriert habe, die manchmal Engpaß in der Produktivität geworden sind. Ich habe Schwierigkeiten, dies zu verstehen:Notwendigkeit, Klassenpfad in Ressourcenstandort und Variablenwertsatz zu verstehen
Dies ist eine der bean.xml, die in der endgültigen .war-Datei (in einer Webanwendung, mit Spring-Framework gebaut) platziert wird.
<context:property-placeholder
location="classpath:/${deploy.env}/com.example.config/db.properties"
ignore-resource-not-found="false" />
Ich habe folgende Zweifel:
1) Zu dem Zeitpunkt, den Code zu bauen, habe ich so für den Wert des deploy.env
vorbeimvn clean install -Ddeploy.env=local
ich die MVN in Debug lief Modus und könnte dies auf lokal festgelegt sehen. Nun, die Sache ist, in der .war, die generiert wird, ist es immer noch $ {deploy.env} (siehe oben). Wird das im finalen .war nicht ersetzt? Wenn nicht, wie gehen wir dann den Wert durch, den wir setzen wollen?
2) Was bedeutet "classpath:/${deploy.env}/com.example.config/db.properties"
? Wer legt den Wert von Klassenpfad fest? Kann classpath auch den Speicherort von Ressourcendateien bereitstellen?
Unter der Annahme, deploy.set -> lokal, so würde dies erhalten übersetzt:
classpath:"/local/com.example.config/db.properties"
So bedeutet das db.properties gegenwärtig sein würde: /local/com.example.config/db.properties
Irgendwelche Eingaben, dies zu verstehen würde eine große Hilfe sein.
würde ich die Tags ersetzen Sie mit "Maven" – LinuxDisciple
Vielen Dank für Ihre wertvollen Vorschlag haben, getan. – CuriousMind