我在下面收到字符编码错误说明:
我正在使用IntelliJ IDEA 2017.3,当我从带有主类的IDE运行我的项目时,我的休息服务工作正常,log4j打印:
“Türkiye的”
但是当我获得.jar文件并从powershell log4j执行打印:
“T³rkiye”
并且休息服务失败。我尝试了两个案例的本地主机。我认为maven没有执行jvmArguments。
的Maven:
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>2.0.0.RELEASE</version>
<configuration>
<mainClass>com.kafein.merge.application.Application</mainClass>
<executable>true</executable>
<jvmArguments>-Dfile.encoding=UTF-8</jvmArguments>
</configuration>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>springloaded</artifactId>
<version>1.2.8.RELEASE</version>
</dependency>
</dependencies>
</plugin>
</plugins>
</build>
答案 0 :(得分:0)
您可以运行您的maven应用,包括以下选项-Dfile.encoding=UTF8
。如:
$ java -Dfile.encoding=UTF8 -jar <artifactname>.jar
如果您想要永久修复,请将maven选项导出为:
$ export JAVA_OPTS=-Dfile.encoding=UTF8
但这实际上取决于您打算如何部署应用程序。
注意:让我知道您打算如何部署应用程序!