Pracuję nad projektem sieciowym opartym na mavenach. W moim module internetowym używam pakietów językowych specyficznych dla różnych języków (niemiecki, hiszpania, ....). Wszystkie moje źródła są oparte na UTF-8 i erverything działa dobrze. Teraz konieczne było aktywowanie filtrowania resursu maven w celu zastąpienia niektórych konfiguracji w zależności od różnych profili maven.Nieprawidłowe kodowanie po aktywowaniu filtrowania zasobów
moim 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>
....
Od tego momentu mój plik war zawiera paczki zasobów z niewłaściwym kodowaniem. Na przykład niemieckie umlauty nie są już wyświetlane poprawnie w mojej aplikacji internetowej. Po wyłączeniu filtrowania zasobów wszystko znów jest w porządku.
Jedynym rozwiązaniem znalazłem ustawić własność project.build.sourceEncoding do „ISO-8859-1”
<properties>
<project.build.sourceEncoding>ISO-8859-1</project.build.sourceEncoding>
</properties>
Ale nie mogę zrozumieć, dlaczego jest to konieczne? Wszystkie moje źródła to UTF-8, a moja aplikacja oparta jest na UTF-8? Co się stanie, jeśli będę musiał dodać paczkę zasobów - na przykład japońskie znaki?
Zajmuję na linux przy użyciu Eclipse 4.2 i Maven 3
Czy używasz wtyczki maven-war (i której wersji)? – ben75
Nie skonfigurowałem jawnie wtyczki maven-war-plugin. Ale kiedy dodam, kodowanie idzie nie tak. – Ralph