Wie verhindere ich, dass ein Maven-Mojo-Parameter beim Schreiben in XML codiert wird?Java

Java-Forum
Anonymous
 Wie verhindere ich, dass ein Maven-Mojo-Parameter beim Schreiben in XML codiert wird?

Post by Anonymous »

Ich schreibe ein benutzerdefiniertes Maven-Plugin zum Erstellen eines Flatpaks aus einem Java-Projekt. Ich verstehe, dass wir in einem Maven-Mojo @Parameter-Annotationen verwenden, um pom.xml-Dateikonfigurationen zu analysieren. Zum Beispiel:
pom.xml:

Code: Select all

VALUE

In MyMojo.java:

Code: Select all

@Parameter
private String param1;
Aber wie würde ich einen Wert festlegen, der HTML-Tags enthält? Zum Beispiel:

Code: Select all

VALUE


Wenn ich das versuche, erhalte ich die Fehlermeldung:

Das Basiselement „param1“ darf keine untergeordneten Elemente enthalten.

Also verpacke ich den VALUE in einen CDATA-Block:

Code: Select all

VALUE
]]>

Dies funktioniert bis zu dem Punkt, an dem das MetaInfo-Objekt in die Datei geschrieben wird:

Code: Select all

private void writeMetaInfo(MetaInfo metaInfo, Writer writer) throws IOException {
XmlMapper mapper = new XmlMapper();
new PrintWriter(writer, true).println("");
// metaInfo value is correct before writing - it has  not <p>
mapper.writerWithDefaultPrettyPrinter().writeValue(writer, metaInfo);
}
Das Ergebnis ist eine XML-Datei mit:

Code: Select all

<p>VALUE</p>
...wobei die führenden spitzen Klammern durch ihre Entität ersetzt werden,

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post