Comment définir la propriété File.encoding sur Exec-Maven-Plugin?
-
14-11-2019 - |
Question
J'essaye d'exécuter mon application autonome via exec-maven-plagin, mais cela a commencé avec le codage WIN, pas UTF-8. J'ai lu sur la clé de ligne de commande java -dfile.encoding = utf-8. Comment définir cette propriété sur ma demande? Merci.
Maven Pom:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<configuration>
<executable>java</executable>
<mainClass>my.main.Class</mainClass>
</configuration>
</plugin>
La solution
Selon la documentation Exec-Maven-Plugin, cela devrait ressembler à ceci:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<configuration>
<mainClass>my.main.Class</mainClass>
<commandlineArgs>-Dfile.encoding=UTF-8</commandlineArgs>
</configuration>
</plugin>
Autres conseils
Pour définir l'encodage pour mvn exec:java
, Positionner MAVEN_OPTS
Variable d'environnement, par exemple:
export MAVEN_OPTS=-Dfile.encoding=utf-8
Voici quoi Exec-Maven-Plugin Utilisation La page dit:
Remarque: l'objectif Java n'apparaît pas un nouveau processus. Toute option spécifique à la machine virtuelle que vous souhaitez transmettre à la classe exécutée doit être transmise à la VM Maven à l'aide de la variable d'environnement Maven_OPTS. Par exemple
Maven_opts = -xmx1024m
Sinon, envisagez d'utiliser l'objectif Exec.
Méthode plus directe que celle de Todd (son est toujours cool cependant):
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<configuration>
<mainClass>my.main.Class</mainClass>
<systemProperties>
<systemProperty>
<key>file.encoding</key>
<value>UTF-8</value>
</systemProperty>
</systemProperties>
</configuration>
</plugin>
échantillons ici.