gpt4 book ai didi

java - Spring Boot WIndows 10 系统属性 'file.encoding'

转载 作者:行者123 更新时间:2023-12-02 02:41:10 24 4
gpt4 key购买 nike

我正在尝试使用以下命令启动 Spring Boot uber jar:

java -jar api-0.0.1.jar -Dfile.encoding=UTF-8

但失败并出现以下错误:

07:52:54.573 [main] INFO com.example.domain.api.Application - Starting application...
2017-08-01 07:52:55.071 ERROR 5792 --- [ main] o.s.b.c.FileEncodingApplicationListener : System property 'file.encoding' is currently '
Cp1251'. It should be 'UTF-8' (as defined in 'spring.mandatoryFileEncoding').
2017-08-01 07:52:55.074 ERROR 5792 --- [ main] o.s.b.c.FileEncodingApplicationListener : Environment variable LANG is 'null'. You could
use a locale setting that matches encoding='UTF-8'.
2017-08-01 07:52:55.075 ERROR 5792 --- [ main] o.s.b.c.FileEncodingApplicationListener : Environment variable LC_ALL is 'null'. You cou
ld use a locale setting that matches encoding='UTF-8'.
2017-08-01 07:52:55.082 ERROR 5792 --- [ main] o.s.boot.SpringApplication : Application startup failed

java.lang.IllegalStateException: The Java Virtual Machine has not been configured to use the desired default character encoding (UTF-8).
at org.springframework.boot.context.FileEncodingApplicationListener.onApplicationEvent(FileEncodingApplicationListener.java:74) ~[spring-b
oot-1.5.6.RELEASE.jar!/:1.5.6.RELEASE]
at org.springframework.boot.context.FileEncodingApplicationListener.onApplicationEvent(FileEncodingApplicationListener.java:46) ~[spring-b
oot-1.5.6.RELEASE.jar!/:1.5.6.RELEASE]
at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:167) ~[spring
-context-4.3.10.RELEASE.jar!/:4.3.10.RELEASE]
at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:139) ~[spring
-context-4.3.10.RELEASE.jar!/:4.3.10.RELEASE]
at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:122) ~[spring
-context-4.3.10.RELEASE.jar!/:4.3.10.RELEASE]
at org.springframework.boot.context.event.EventPublishingRunListener.environmentPrepared(EventPublishingRunListener.java:74) ~[spring-boot
-1.5.6.RELEASE.jar!/:1.5.6.RELEASE]
at org.springframework.boot.SpringApplicationRunListeners.environmentPrepared(SpringApplicationRunListeners.java:54) ~[spring-boot-1.5.6.R
ELEASE.jar!/:1.5.6.RELEASE]
at org.springframework.boot.SpringApplication.prepareEnvironment(SpringApplication.java:325) [spring-boot-1.5.6.RELEASE.jar!/:1.5.6.RELEAS
E]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:296) [spring-boot-1.5.6.RELEASE.jar!/:1.5.6.RELEASE]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1118) [spring-boot-1.5.6.RELEASE.jar!/:1.5.6.RELEASE]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1107) [spring-boot-1.5.6.RELEASE.jar!/:1.5.6.RELEASE]
at com.example.domain.api.Application.main(Application.java:36) [classes!/:0.0.1]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_121]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_121]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_121]
at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_121]
at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:48) [api-0.0.1.jar:0.0.1]
at org.springframework.boot.loader.Launcher.launch(Launcher.java:87) [api-0.0.1.jar:0.0.1]
at org.springframework.boot.loader.Launcher.launch(Launcher.java:50) [api-0.0.1.jar:0.0.1]
at org.springframework.boot.loader.JarLauncher.main(JarLauncher.java:51) [api-0.0.1.jar:0.0.1]

此外,我的 Maven pom.xml 中有以下属性:

<properties>
<java.source.version>1.8</java.source.version>
<java.target.version>1.8</java.target.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<file.encoding>UTF-8</file.encoding>
</properties>

我做错了什么以及如何正确启动此应用程序?

最佳答案

Java SE 6 支持两种编码集。新的 java.nio API 使用的规范名称在许多情况下与 java.io 和 java.lang API 中使用的规范名称不同。

  • 如果您使用 java.nio API 的规范名称,则需要使用:UTF-8
  • 如果您对 java.io 和 java.lang API 使用规范名称,则需要使用:UTF8

所以使用-Dfile.encoding=UTF-8-Dfile.encoding=UTF8

关于java - Spring Boot WIndows 10 系统属性 'file.encoding',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45429372/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com