2016-04-07 5 views
0

Ich habe eine Eigenschaftendatei unter src/main/resources/db.properties und jedes Mal, wenn ich den Wert ändere, muss ich den Jar neu erstellen. Gibt es eine Lösung, wo ich das nicht tun muss?Ich muss das Jar jedes Mal neu erstellen, wenn ich die Eigenschaftendatei unter src/main/resouces ändere

+0

Wie läuft das JAR? Wenn die Eigenschaftendatei Teil der JAR ist, müssen Sie sie trotzdem neu packen. –

+0

sobald das Jar von Gradle gebaut wird, ich java -jar filename.jar gerade so laufen lassen ja ich nehme an, dass es ein Teil des Glases ist. Wie packe ich es so um, dass ich das Jar nicht neu erstellen muss, wenn sich die Eigenschaftendatei ändert? – user1870400

+0

Ich glaube nicht, dass Sie die Neuerstellung der JAR vermeiden können, obwohl Sie möglicherweise vermeiden können, Ihre Java-Quelldateien neu zu erstellen. Eine JAR ist nur ein Archiv, und wenn sich eine Komponente ändert, müssen Sie neu packen. –

Antwort

0

Da sich die Datei in src/main/resources befindet (vorausgesetzt, das Standardlayout, das natürlich geändert werden kann), wird es in die Task processResources kopiert (siehe https://docs.gradle.org/current/userguide/java_plugin.html).
Das bedeutet, dass es Teil der JAR-Datei ist - und wenn Sie es ändern müssen, müssen Sie die JAR-Datei neu packen, wenn die Java-Anwendung die Änderung übernehmen soll. Ich sehe dort keinen Weg, außer dass die Datei von der JAR-Datei getrennt ist und über eine normale Datei-API darauf zugegriffen wird. (oder Zugriff auf den JAR-Inhalt über Zip-Tools und die Änderungen später für die Laufzeit zur Verfügung .. und Umgang mit gesperrten Dateien .. yeah, no.)

Gradle ist intelligent genug, um nicht den gesamten Build-Prozess jedes Mal, nur wenn sich die Dinge ändern.
Wenn Sie das Kompilieren manuell "überspringen" und die JAR-Datei nur neu packen möchten, müssen Sie wahrscheinlich Ihre eigenen Aufgaben zu build.gradle hinzufügen. Einfach "nur" die JAR-Task ausführen, wird dann nicht ausgeführt, da dies von der Kompilier-Task abhängt.

Verwandte Themen