使用类名中的特殊字符编译Java文件时出错

bdo*_*han 7 java javac

我遇到一个问题,在类名中编译一个带有特殊字符的源文件.类文件在Eclipse IDE中编译良好,但不是从javac编译.我相信我需要利用-encoding旗帜,但尚未达到正确的设置.我会很感激任何指针:

文件名: DeptView和SDO.java

Java来源:

public interface DeptView\u548cSDO {

   public int getDeptno();

   public void setDeptno(int value);

}
Run Code Online (Sandbox Code Playgroud)

错误信息:

运行javac *.java导致以下错误消息:

javac: file not found: DeptView?SDO.java
Run Code Online (Sandbox Code Playgroud)

UPDATE

  • 我目前正在Windows XP命令提示符下尝试编译
  • 最终,这个编译需要成为ant构建的一部分,在不同的操作系统上运行
  • 我正在处理生成此生成的源文件的工具.

Nat*_*yan 7

一种解决方案是将每个编译单元的文件名列在单独的文件中,例如files,并将其@files作为命令行参数传递给javac.否则,您必须设置shell的语言环境,以便使用正确的字符编码.

  • +1 - 此时我认为问题是由于我正在使用的Windows命令窗口的字符编码,因为我能够在Eclipse中使用javac在Linux上编译它. (4认同)
  • +1:我怀疑`javac`程序本身不是问题,而是shell. (2认同)