2017-08-01 9 views
0

私は、次のコマンドを使用して、春のブートユーバージャーを起動しようとしている:春ブートのWindows 10システムのプロパティ「のfile.encoding」

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] 
私が間違っているのは何と適切ティを起動する方法

<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> 

はまた、私は次のように私のMavenのpom.xmlのプロパティを持っていますアプリケーション?

答えて

1

Java SE 6でサポートされている2つのエンコーディングセット。新しい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

+0

使用: 'ます。java -jar API-0.0.1.jar'を 'ます。java -jar API-0.0.1.jarの-Dfile.encoding = UTF-8' 'java -jar api-0.0.1.jar -Dfile.encoding = UTF8' 残念ながら誰も働いていません – alexanoid

+1

アプリケーションの引数の順番は問題ありません。なぜなら、これはうまくいきます: 'java -Dfile.encoding = UTF-8 -jar api-0.0.1.war' – alexanoid

関連する問題