错误:无法访问jarfile。 编码问题

这个问题似乎微不足道,但到目前为止找不到解决办法。

C:\Users\User>"C:\Program Files\Java\jdk1.8.0_112\bin\java" -jar "D:\Valya\Учёба\ТРПК\наумов_трпк_лаб2\build\libs\naumov_trpk_lab2-runnable.jar" Error: Unable to access jarfile D:\Valya\?????\????\??????_????_???2\build\libs\naumov_trpk_lab2-runnable.jar 

只有当我尝试访问坐在非ASCII名称的dir中的jar时,才会出现此问题。 当我在Windows 7上时,我确信我可以运行带有这种path的jar,但是因为我转移到了Win 10,所以没有运气。 引用path没有帮助, -Dfile.encoding=UTF8也。

顺便说一句,如果我从Intellij IDEA运行应用程序点击主方法,我得到以下错误。

 "C:\Program Files\Java\jdk1.8.0_112\bin\java" -Didea.launcher.port=7533 "-Didea.launcher.bin.path=C:\Program Files (x86)\JetBrains\IntelliJ IDEA 2016.2.5\bin" -Dfile.encoding=UTF-8 -classpath "C:\Program Files\Java\jdk1.8.0_112\jre\lib\charsets.jar;C:\Program Files\Java\jdk1.8.0_112\jre\lib\deploy.jar;C:\Program Files\Java\jdk1.8.0_112\jre\lib\ext\access-bridge-64.jar;C:\Program Files\Java\jdk1.8.0_112\jre\lib\ext\cldrdata.jar;C:\Program Files\Java\jdk1.8.0_112\jre\lib\ext\dnsns.jar;C:\Program Files\Java\jdk1.8.0_112\jre\lib\ext\jaccess.jar;C:\Program Files\Java\jdk1.8.0_112\jre\lib\ext\jfxrt.jar;C:\Program Files\Java\jdk1.8.0_112\jre\lib\ext\localedata.jar;C:\Program Files\Java\jdk1.8.0_112\jre\lib\ext\nashorn.jar;C:\Program Files\Java\jdk1.8.0_112\jre\lib\ext\sunec.jar;C:\Program Files\Java\jdk1.8.0_112\jre\lib\ext\sunjce_provider.jar;C:\Program Files\Java\jdk1.8.0_112\jre\lib\ext\sunmscapi.jar;C:\Program Files\Java\jdk1.8.0_112\jre\lib\ext\sunpkcs11.jar;C:\Program Files\Java\jdk1.8.0_112\jre\lib\ext\zipfs.jar;C:\Program Files\Java\jdk1.8.0_112\jre\lib\javaws.jar;C:\Program Files\Java\jdk1.8.0_112\jre\lib\jce.jar;C:\Program Files\Java\jdk1.8.0_112\jre\lib\jfr.jar;C:\Program Files\Java\jdk1.8.0_112\jre\lib\jfxswt.jar;C:\Program Files\Java\jdk1.8.0_112\jre\lib\jsse.jar;C:\Program Files\Java\jdk1.8.0_112\jre\lib\management-agent.jar;C:\Program Files\Java\jdk1.8.0_112\jre\lib\plugin.jar;C:\Program Files\Java\jdk1.8.0_112\jre\lib\resources.jar;C:\Program Files\Java\jdk1.8.0_112\jre\lib\rt.jar;D:\Valya\Учёба\тест-кириллицы\out\production\тест-кириллицы;C:\Program Files (x86)\JetBrains\IntelliJ IDEA 2016.2.5\lib\idea_rt.jar" com.intellij.rt.execution.application.AppMain Main Exception in thread "main" java.lang.ClassNotFoundException: Main at java.net.URLClassLoader.findClass(URLClassLoader.java:381) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:264) at com.intellij.rt.execution.application.AppMain.main(AppMain.java:123) 

我的Java版本是

 java version "1.8.0_112" Java(TM) SE Runtime Environment (build 1.8.0_112-b15) Java HotSpot(TM) 64-Bit Server VM (build 25.112-b15, mixed mode) 

随意要求任何额外的信息,因为我只是没有线索。

UPD原始版本的Windows,我有问题是与英语(美国)语言环境安装的Win 10 LTSB。 但是在VM上从头开始安装的俄语区域设置问题已经消失。 和输出是:

 C:\Users\User\Documents>java -jar наумов_тпрк_лаб2.jar Error: Invalid or corrupt jarfile эрєьют_ЄяЁъ_ырс2.jar 

是的,因为它是纯文本,但是path被发现,没有原始错误。 不要让这些字母欺骗你,这不是一个chcp问题:虽然原始代码页是866,任何其他让Javafind文件的path。

首先, -Dfile.encoding=UTF8与文件名无关,但与文件内容有关 。

而甜蜜的部分。

  1. 打开开始菜单,键入找到“地区和语言设置”。
  2. 转到相关设置。 相关设置。

  3. 然后点击更改位置… 换地点...

  4. 并设置适当的国家 并设置适当的国家

所以,它终于有效,但我希望有人提供这方面的细节。