J'ai une application MyFaces Facelets, où le codage de la page est un peu robuste. Quoi qu'il en soit, il est développé avec Eclipse et construit avec Ant, et kindof fonctionne bien dans Tomcat 2.0.26. Jusqu'ici tout va bien.Invalid byte 1 de la séquence UTF-8 de 1 octet
Maintenant, je préfère construire avec Maven, donc j'ai fait quelques fichiers pom, les ai ouverts dans Netbeans et construits, et maintenant j'ai un fichier war qui se déploie bien. Cependant, sur une page Facelet il vomit avec
com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException: Invalid byte 1 of 1-byte UTF-8 sequence.
at com.sun.org.apache.xerces.internal.impl.io.UTF8Reader.invalidByte(UTF8Reader.java:684)
at com.sun.org.apache.xerces.internal.impl.io.UTF8Reader.read(UTF8Reader.java:554)
at com.sun.org.apache.xerces.internal.impl.XMLEntityScanner.load(XMLEntityScanner.java:1742)
Alors, je l'ai essayé beaucoup de choses différentes, et l'application fait courir des pages simples sans substance Facelet. Mais, tout fonctionne si je construis simplement avec Ant à la place ... Alors ma question est: Quelle est la différence la plus probable entre une construction de fourmis et une construction de maven qui peut causer cela?
Même si j'ai configuré pour UTF-8 dans Netbeans et pom-fichiers, Netbeans finit par rapporter les fichiers facelet comme ISO-8859-1 après quelques modifications. Je me suis assuré que la plupart des libs centrales sont de la même version (en particulier xerces 2.3.0), j'ai ajouté un filtre de servlet d'encodage qui n'a eu aucun effet.
Et, je préfère réparer le build maven et garder les pages buggées, que l'inverse ... mon intention est d'introduire Naven, pas de corriger les pages buggées.
Voici ce que dit le pom.xml sur l'encodage:
Fondamentalement, le pom.xml a le jeu suivant ...
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.0.2</version>
<configuration>
<source>1.6</source>
<target>1.6</target>
<encoding>${project.build.sourceEncoding}</encoding>>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>2.2</version>
<configuration>
<encoding>${project.build.sourceEncoding}</encoding>
</configuration>
</plugin>
....
<properties>
<netbeans.hint.deploy.server>Tomcat60</netbeans.hint.deploy.server>
<project.build.sourceEncoding>utf-8</project.build.sourceEncoding>
</properties>
* Il semble également que même si j'ai configuré pour UTF-8 dans Netbeans et pom-fichiers * Pouvez-vous montrer ce que vous avez fait dans le pom? –
voir la question mise à jour. –
Ça a l'air bien. Cependant, sans "voir le tout", il semble difficile de dire quoi que ce soit. Juste au cas où, regardez http://72.5.124.102/thread.jspa?messageID=10633886. –