3

假设我有一个名为“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
4

2 回答 2

4

这似乎是一个由来已久的问题:Java 启动器无法处理文件名中的 unicode 字符。

您不能重命名 JAR 或临时将其复制到一个全 ASCII 名称的文件中吗?如果您真的坚持(或被迫)在 JAR 的文件名中使用 unicode 字符,您总是可以编写自己的知道如何处理它们的启动器——Eclipse 开发人员为他们的启动器做到了这一点。但似乎太过分了。

于 2013-02-21T11:58:58.090 回答
1

尝试 8.3 名称

我无法使用我的 IDE 创建“ascąś©.jar”,但我确实创建了一个名为 Unicode 的文本文件,看起来这可能有效:

在 Windows 命令提示符处获取 8.3 文件名,然后使用该文件名代替 unicode 名称:

dir /x *.jar
java -jar ASC~1.JAR
于 2013-02-24T15:30:47.683 回答