根据文档(Java
5,Java
6),当您遵循“
交叉编译示例”中的说明时,Oracle SDK应该能够执行此操作。
Java 6应该支持1.3到1.6之间的任何版本,例如
-target;它没有说明在源中使用泛型和其他“兼容”功能时会发生什么。编译器 应该
能够剥离它们。
游戏中的另一个罪魁祸首可能是
javac: 编译器 可能能够处理这组参数,但是 命令行工具 可能会冒犯。
在这种情况下,请使用Java Compiler
API编写自己的命令行。这可能会带来一些其他方法无法实现的技巧。
您也可以尝试使用Eclipse编译器(请参阅“
使用批处理编译器
”)。
这可能由于Java的工作方式而失败:只要X <= Y,Java X代码就可以在Java Y上运行。因此,尽管您可以轻松地为Java 6 VM编译Java
1.4代码,但并非总是如此。
如果其他所有方法均失败,则编写一个预处理器来读取源并剥离不支持的元素(例如
@Override接口上的)。只要使用Java 6偶尔编译 带有
注释的代码,转换后的代码也应该是安全的(除非您的代码剥离程序有错误…)



