J'essaie de compiler un projet Maven Java avec des fichiers enregistrés au format UTF-8 qui ont un BOM , mais je reçois une erreur de caractère non conforme du caractère BOM dans malgré le fait que I Le project.build.sourceEncoding
ainsi que la encoding
du maven-compiler-plugin
sont définis sur UTF-8
.
Est-ce que je manque un paramètre supplémentaire? Puis-je même le faire compiler sans supprimer la nomenclature (aucune modification ne peut être apportée à la source, mais I can modifier le POM)?
L'erreur:
Java: C:\code\main\src\test\Java\net\initech\finance\FinanceTest.Java: 1: caractère non autorisé:\65279
La propriété:
<properties>
...
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
...
</properties>
Le plugin:
<build>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
</plugins>
</build>
S'il s'agit de UTF-8 et non d'UTF-16, la nomenclature ne sert à rien. Pourquoi est-il mis là? En outre, seul Java se plaint ici - pas Maven.
Vérifier JDK-4508058: Le codage UTF-8 ne reconnaît pas la nomenclature initiale qui est liée.
1.Fermez votre projet.
2. Essayez d’ouvrir votre fichier avec Notepad ++, puis passez à «UTF-8 sans nomenclature».
3.Rouvrez votre projet à nouveau.
Cela m'est arrivé après avoir ouvert une classe Java à l'aide du bloc-notes. Cela a changé le codage du fichier.
Voici un truc simple que j'ai fait:
=, Regardez la différence entre les signes d'égalité. Le droit est utilisé pour le type anglais normal, mais le plus à gauche est généralement utilisé pour les langues chinoises.