Das Maven Encoding Plugin ist ein Maven Plugin für das Encoding von Sonderzeichen bei gleichzeitigem Ersetzen von Variablen.

Hintergrund#

Mit den mitgelieferten Maven Plugins ist es zwar möglich, Ressourcen zu kopieren und Variablen zu ersetzen. Dies wird als sogenanntes Resource Filtering bezeichnet. Darüber hinaus gibt es Plugins für das Encoding von Zeichen, diese können jedoch keine Zeichen ersetzen. Das Maven Encoding Plugin vereinigt beide Vorgänge.

Anwendung#

Der typische Anwendungsfall sind in UTF-8 codierte Java Properties.

Beispiel#

Folgender Eintrag in der pom.xml des Projekts kopiert alle Properties-Dateien aus src/main/resources nach target/properties, codiert und filtert diese:
	<plugin>
		<groupId>com.intersult</groupId>
		<artifactId>encoding-maven-plugin</artifactId>
		<version>1.0-SNAPSHOT</version>
		<executions>
			<execution>
				<goals>
					<goal>encode</goal>
				</goals>
				<configuration>
					<encoding>iso-8859-1</encoding>
					<src>${basedir}/src/main/resources</src>
					<includes>**/*.properties</includes>
					<resource>
						<directory>${project.build.directory}/properties</directory>
						<filtering>true</filtering>
					</resource>
				</configuration>
			</execution>
		</executions>
	</plugin>