java - run - Error: no se puede acceder a jarfile. Problema de codificación
run jar file windows cmd (1)
El problema parece trivial, pero no pudo encontrar una solución hasta el momento.
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
El problema aparece solo cuando intento acceder a un jar que está en un directorio con un nombre que no es ASCII. Estoy 100% seguro de que podría ejecutar tarros con esa ruta cuando estaba en Windows 7, pero desde que me mudé a Win 10, no tuve suerte. Citar la ruta no ayuda, -Dfile.encoding=UTF8
también.
Por cierto, si ejecuto la aplicación de Intellij IDEA haciendo clic en el método principal, aparece el siguiente error.
"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)
Mi versión de Java es
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)
No dude en solicitar cualquier información adicional, porque no tengo ni idea.
UPD La versión original de Windows, en la que tuve el problema es Win 10 LTSB instalado con la configuración regional en inglés (EE. UU.). Pero con la configuración regional rusa instalada desde cero en la máquina virtual, el problema desapareció. Y la salida es:
C:/Users/User/Documents>java -jar наумов_тпрк_лаб2.jar
Error: Invalid or corrupt jarfile эрєьют_ЄяЁъ_ырс2.jar
Sí, está dañado porque es texto claro, pero se encuentra la ruta, no hay error original. No dejes que las letras te engañen, ese no era un problema de chcp: aunque la página de códigos original es 866, cualquier otra deja que java encuentre la ruta al archivo.
En primer lugar, -Dfile.encoding=UTF8
no tiene nada que ver con los nombres de archivo, pero tiene algo con contenido de archivo .
Y la parte dulce.
- Abra el menú de inicio, escriba para buscar "Configuración de región y idioma".
Por lo tanto, finalmente funciona, pero espero que alguien proporcione detalles sobre esto.