为什么Eclipse不编译APT生成的类?

时间:2010-06-14 16:03:21

标签: java eclipse jpa-2.0 metamodel annotation-processing

在我的Eclipse项目中,我正在使用第三方注释处理器Hibernate Metamodel Generator。注释处理器按预期工作,并生成规范指定的.java文件。这些文件生成到“gen”文件夹下的Eclipse项目目录中。在项目属性中,这是正确反映的,因为存在两个源文件夹 - “src”和“gen”。但是,当项目由于某种原因构建时,“gen”下的所有[生成]源都没有编译(检查“bin”目录我只看到“src”目录中的.class文件)。有谁知道为什么会这样?

2 个答案:

答案 0 :(得分:3)

我刚才想出来,并且以为我会回来解释会发生什么。当编译器运行时,它编译现有的源(我写的那些),然后从现有的源文件生成源文件,但它不编译这些生成的类。我最终把它变成了一个Ant项目(根据setup instructions)。所以,基本上我有两个任务:首先生成新的源文件(运行带有-proc:only选项的javac导致注释处理发生而不编译源),第二个实际编译所有源(生成和现有)。 / p>

答案 1 :(得分:1)

您必须刷新Eclipse中的“gen”文件夹(例如,从Package Explorer中),以便Eclipse查看新生成的文件并进行编译。你在做这个吗?