Gradle processResources - Datei enthält $ character

Wie können Sie @ ausführegradle processResources für Dateien, die @ enthalt$ -Zeichen, ohne das @ zu verlass$ in den Dateien?

Ich habe einige statische HTML-Dateien im/resources/static Ordner wie vom @ vorgeschlagSpring Boot Referenzdokumente. Wenn ich jedoch versuche, @ auszuführgradle processResources, Gradle löst eine Ausnahme aus

Caused by: org.gradle.api.GradleException: 
Could not copy file '[...]/src/main/resources/static/dollar.html' 
to '[...]/build/resources/main/static/dollar.html'.
[...]
Caused by: groovy.lang.GroovyRuntimeException: 
Failed to parse template script (your template may contain an error 
or be trying to use expressions not currently supported): startup failed:
SimpleTemplateScript7.groovy: 1: illegal string body character after dollar sign;
solution: either escape a literal dollar sign "\$5" 
or bracket the value expression "${5}" @ line 1, column 10.
out.print("""<!DOCTYPE html>

Soweit ich weiß, tritt das Problem auf, weil es ein @ gib$ Zeichen in einer der statischen Dateien und$ ist ein reserviertes Zeichen für Ausdrücke bei der Verarbeitung von Ressourcen.

Vorgeschlagene Lösungen:

Ja, dem @ entkomm$ mit\$ (wie im Stacktrace vorgeschlagen) funktioniert, aber ich ändere die HTML-Datei lieber nicht, wenn andere Optionen verfügbar sind.

Der Versuch, die Datei von den Prozessressourcen auszuschließen, führt zum Verschwinden des Problems, hat jedoch den Nebeneffekt, dass auch die Datei vom Kopieren ausgeschlossen wird:

configure(tasks.processResources) {
    exclude 'static/dollar.html'
}

Ich habe auch gesehen, dass Sie verarbeitete Ressourcen filtern können. Ich denke, das ist, was ich tun möchte, aber ich habe keinen "$ -Filter ignorieren" gefunden, gibt es einen?

configure(tasks.processResources) {
    filesMatching('static/dollar.html') {
        filter = ???
    }
}

Weitere Vorschläge?

Dasdollar.htmlie @ -Datei, die das Problem verursacht, kann vereinfacht werden zu:

<!DOCTYPE html>
<html lang="en">
<head>
</head>
<body>
    <div>Dollar 
<!DOCTYPE html>
<html lang="en">
<head>
</head>
<body>
    <div>Dollar $</div>
</body>
lt;/div> </body>

Antworten auf die Frage(2)

Ihre Antwort auf die Frage