使用javac进行编译失败,使用eclipse-compiler可以正常工作

问题描述 投票:0回答:2

我正在尝试编写一个简单的ant构建来编译项目。该项目处于eclipse中并且在那里成功编译(使用eclipse编译器)。但是使用ant(使用javac)它出现了错误,我不知道如何解决它。

使用过的罐子的结构:

  • COM XXX 一个<=包 b 一类

我班的代码块:

Object o = com.xxx.a.b.method();
                    ^

蚂蚁的例外是:

错误:找不到符号

符号:变量b

位置:a级

我认为eclipse首先使用该包来尝试编译代码。 javac似乎认为a是班级。

有没有办法在不更改jar的情况下解决问题?

java eclipse javac
2个回答
0
投票

看起来包名称不同,或者您有多个同名的类文件。我建议在使用javac或ant命令进行编译时检查import语句并将特定的jar文件添加到classpath。

要找到确切的jar文件,请使用ctrl+T然后将您的类名粘贴到框中,它将告诉您jar文件。将该jar文件添加到ant类路径并构建。


0
投票

我没有在Java Language Specification中发现这是一个错误,所以它可能是一个javac错误。

由于它是javac与Eclipse编译器的对象,请尝试以下方法之一:

  • Use the Eclipse compiler in the Ant script
  • 如果它是javac错误,则可以在较新(更新)的JDK版本中修复该错误
  • 如果您的代码没有直接引用类com.xxx.a,请使用删除了类com.xxx.a的JAR编译代码
© www.soinside.com 2019 - 2024. All rights reserved.