Spring Boot 1.5.9字符编码问题

时间:2018-03-26 10:40:11

标签: java spring maven spring-boot intellij-idea

我在下面收到字符编码错误说明:

我正在使用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>

1 个答案:

答案 0 :(得分:0)

您可以运行您的maven应用,包括以下选项-Dfile.encoding=UTF8。如:

$ java -Dfile.encoding=UTF8 -jar <artifactname>.jar

如果您想要永久修复,请将maven选项导出为:

$ export JAVA_OPTS=-Dfile.encoding=UTF8

但这实际上取决于您打算如何部署应用程序。

注意:让我知道您打算如何部署应用程序!