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

时间:2011-05-13 15:11:03

标签: java javac

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

文件名: DeptView和SDO.java

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构建的一部分,在不同的操作系统上运行
  • 我正在处理生成此生成的源文件的工具。

2 个答案:

答案 0 :(得分:7)

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

答案 1 :(得分:0)

您是否尝试过使用-encoding UTF8-encoding UTF16LE(Little Endian)或-encoding UTF16BE(大端)? (LE或BE的使用取决于您使用的系统 - Windows是我记忆中的LE。)