编译类名中带有特殊字符的Java文件时发生javac错误
我在编译类名中带有特殊字符的源文件时遇到了一个问题。类文件在EclipseIDE中可以很好地编译,但不是从javac编译的。我相信我需要利用-encoding
标志,但还没有达到正确的设置。如有任何建议,我将不胜感激:
文件名:DeptView和SDO。爪哇
Java源代码:
public interface DeptView\u548cSDO {
public int getDeptno();
public void setDeptno(int value);
}
错误消息:
运行javac *.java
会导致以下错误消息:
javac: file not found: DeptView?SDO.java
更新
- 我目前正在Windows XP命令提示符下尝试编译
- 最终,这个编译需要是ant构建的一部分,在不同的操作系统上运行
- 我使用生成此生成的源文件的工具李>
# 1 楼答案
你试过使用
-encoding UTF8
或-encoding UTF16LE
(小尾端)或-encoding UTF16BE
(大尾端)吗?(LE或BE的使用取决于您使用的Windows系统,我记得它是LE。)# 2 楼答案
一种解决方案是在一个单独的文件中列出每个编译单元的文件名,例如
files
,并将@files
作为命令行参数传递给javac
。否则,您必须设置shell的区域设置,以便它使用正确的字符编码