假设我有一个名为“ascąś©.jar”的可执行 JAR 文件。
当我尝试通过双击运行它时,java.exe 进程启动但随后立即结束。
当我尝试使用以下命令从 cmd.exe 运行它时:java -jar "ascąś©.jar"
它返回:
C:\>java -jar "ascąś©.jar"
Error: An unexpected error occurred while trying to open file asc??ę.
或者如果当前目录下没有这样的文件:
C:\>java -jar "ascąś©.jar"
Error: Unable to access jarfile asc╣ťę.jar
当目录名中有 Unicode 字符时,也会发生同样的事情。 当名称/路径不包含 Unicode 字符时,JAR 文件运行没有问题。
有人遇到同样的问题吗?我需要更改 Java 中的某些编码设置吗?我在哪里可以做到这一点?
我的配置:
Windows 7 Professional SP1 32-bit EN
Java version: 1.7.0_03
最佳答案
这似乎是一个 issue known for a long time : Java 启动器无法处理文件名中的 unicode 字符。
您不能只重命名 JAR 或临时将其复制到一个全 ASCII 名称的文件中吗?如果您真的坚持(或被迫)在 JAR 的文件名中使用 unicode 字符,您总是可以编写自己的知道如何处理它们的启动器——Eclipse 开发人员为他们的启动器做到了这一点。但这似乎过分了。
关于java - 当路径/名称包含 Unicode 字符时如何运行可执行 JAR?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14998507/