0

从命令行运行时,如何使用 Eclipse Java 编译器 (ECJ) 3.6.2 * 将警告视为错误?

较新的版本(至少 3.8.2)有这个-err:all标志,但是这在 3.6.2 中不可用。我还有其他选择吗?

我发现了这个问题(Javac:Treat warnings as errors),它推荐了未记录的-Werror标志,但这似乎只适用于 javac。

注意:由于各种完全无法控制的原因,我必须使用 ECJ 3.6.2。所以切换到较新的版本或 javac 不是一种选择(至少,不是在不久的将来)!


* 似乎也被称为“JDT Core Batch Compiler”

4

1 回答 1

4

我认为没有办法指定 err:all,但有一个不错的解决方法:

  1. 创建一个日食项目。
  2. 项目 > 属性 > Java 编译器 > 错误/警告。
  3. 启用项目特定设置。
  4. 手动将所有内容设置为错误级别(烦人,但一次性操作)。
  5. 这会生成一个 org.eclipse.jdt.core.prefs 文件。
  6. 在编译过程中使用 project/.settings/org.eclipse.jdt.core.prefs 文件。

下面是一个使用 ant 的例子:

<javac srcdir="${test-unit.dir}" destdir="${target-test-classes.dir}" 
        classpathref="test.classpath" source="1.6" target="1.6" debug="true" 
        includeAntRuntime="false" compiler="org.eclipse.jdt.core.JDTCompilerAdapter">
    <compilerclasspath location="./libs/ecj-3.7.2.jar" />
    <compilerarg line="-time -properties .settings/org.eclipse.jdt.core.prefs" />
</javac> 
于 2013-02-18T00:17:35.793 回答