java - 使用 javac 编译失败,使用 eclipse-compiler 可以正常工作
问题描述
我正在尝试编写一个简单的 ant 构建来编译一个项目。该项目在 eclipse 中,并且成功编译(使用 eclipse-compiler)。但是对于 ant(使用 javac),它出现了一个错误,我不知道如何解决它。
使用的jar的结构:
- com
- xxx
- 一个 <= 包
- b
- 一类
- 一个 <= 包
- xxx
我班的代码块:
Object o = com.xxx.a.b.method();
^
蚂蚁的例外是:
错误:找不到符号
符号:变量 b
地点:甲级
我认为eclipse首先使用包来尝试编译代码。javac 似乎认为 a 是类。
有没有办法在不改变罐子的情况下解决问题?
解决方案
我在Java 语言规范中没有发现这是一个错误,所以它可能是一个javac
错误。
由于它是一个javac
与 Eclipse 编译器相关的东西,请尝试以下操作之一:
- 在 Ant脚本中使用Eclipse 编译器
- 如果是
javac
bug,则该 bug 可能会在较新(更新)的 JDK 版本中修复 - 如果您的代码不直接引用类
com.xxx.a
,请使用已删除该类的 JAR编译代码com.xxx.a