在我的Eclipse项目中,我使用的是第三方批注处理器Hibernate Metamodel Generator。注释处理器按预期工作,并生成规范指定的.java文件。这些文件生成到Eclipse项目的“gen”文件夹下的目录中。在项目属性中,由于存在两个源文件夹 - “src”和“gen。”,因此正确地反映了这一点。然而,当项目由于某种原因而被构建时,所有[gen]下的源代码都不会被编译(检查“bin”目录,我只能看到来自“src”目录的.class文件)。有谁知道为什么会发生这种情况?为什么APT生成的类没有被Eclipse编译?
2
A
回答
3
我想了一下,以为我会回来解释发生了什么。当编译器运行时,它会编译现有的源代码(我编写的代码),然后从现有源文件生成源文件,但不编译这些生成的类。我最终把它变成了一个Ant项目(按照设置instructions)。所以,基本上我有两个任务:首先生成新的源文件(运行javac,-proc:only
选项会导致注释处理发生而不编译源),第二个实际编译所有源(生成的和现有的)。
1
您必须在Eclipse中刷新“gen”文件夹(例如,从Package Explorer),以便Eclipse能够查看新生成的文件并编译它们。你在做这个吗?
+0
是的,我试过的第一件事。怪异的东西是日食说,当我尝试使用它们时,它不识别这些文件(红色波浪线和问题视图下的消息),但是当我摆脱使用它们的代码并尝试使用自动完成它时将生成的类显示为选项。我也尝试清理并重建项目。我觉得这些java文件是在错误的时间生成的,因为首先src下的所有东西都被编译成bin,然后.java文件在gen下生成。不知道我是否可以非常容易地验证 – Andrey 2010-06-15 14:16:53
相关问题
- 1. 带APT的Eclipse编译器
- 2. Eclipse APT减慢编译
- 3. 为什么我的C代码没有被编译为EXE
- 4. 为什么没有参数的委托会被编译?
- 5. 为什么Eclipse不为所有类生成javadoc
- 6. 为什么Eclipse没有更新类?
- 7. 有没有什么办法可以在eclipse中编译GnuTLS?
- 8. 为什么Maven没有Servlet依赖性编译成功?
- 9. XCode8 TextureAtlas编译器没有生成
- 10. 为什么axis2生成的代理没有任何ServiceLocator类
- 11. 为什么生成的托管类没有dealloc/release?
- 12. 为编译类生成html文件
- 13. 为什么我的编译器生成的llvm IR是segfaulting
- 14. 为什么不会eclipse生成build.xml
- 15. C++/CLI的值类约束不会被编译。为什么?
- 16. Eclipse没有为.ear生成META-INF
- 17. netbeans在编译时没有生成类,但编译时运行程序
- 18. 为什么Eclipse CDT的说:“语法错误”,但编译没有问题
- 19. 为什么php表单生成器类没有运行?
- 20. 为什么.net配置设置被编译成程序集?
- 21. Eclipse没有生成R.java
- 22. Eclipse ADT没有生成MainActivity
- 23. 为什么LESS编译器无法识别由零迭代器生成的类?
- 24. 为什么scala在编译后会生成太多的类文件?
- 25. 什么时候StringBuffer/StringBuilder没有被编译器隐式使用?
- 26. 为什么VS C++ 2010编译器产生类似的功能
- 27. Rails编译有或没有md5哈希的资产,为什么?
- 28. 编译器为自动装箱生成什么代码?
- 29. 编译器为什么会生成一个push/pop指令对?
- 30. 为什么此代码会生成编译器错误C2227?
我有与Eclipse 3.5相同的问题,升级到3.6修复了它。 – junkdog 2011-01-31 01:49:15