Sto sviluppando un progetto Web basato su maven. Nel mio modulo web sto usando diversi pacchetti di risorse specifiche per la lingua (tedesco, spagna, ....). Tutte le mie fonti sono basate su UTF-8 e erverything funziona bene. Ora è stato necessario attivare il filtro del reso Maven per sostituire alcune configurazioni in base ai diversi profili di utenti.Codifica errata dopo l'attivazione del filtro risorse
mia pom.xml:
.....
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
.....
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
</resources>
....
Da questo momento il mio file WAR contiene bundle di risorse con codifica sbagliata. Ad esempio, le dieresi tedesche non vengono più visualizzate correttamente nella mia applicazione web. Quando disattivo il filtro delle risorse, tutto va di nuovo bene.
L'unica soluzione che ho trovato è stato quello di impostare la project.build.sourceEncoding proprietà 'ISO-8859-1'
<properties>
<project.build.sourceEncoding>ISO-8859-1</project.build.sourceEncoding>
</properties>
Ma non riesco a capire il motivo per cui questo è necessario? Tutte le mie fonti sono UTF-8 e anche la mia applicazione è basata su UTF-8? Cosa succede se ho bisogno di aggiungere un pacchetto di risorse con - per esempio caratteri giapponesi?
Sto sviluppando su linux con Eclipse 4.2 e Maven 3
stai usando maven-war-plugin (e quale versione)? – ben75
Non ho configurato il plugin maven-war esplicito. Ma anche quando aggiungo la codifica diventa sbagliata. – Ralph