eclipse java annotation processing

对着背影说爱祢 提交于 2019-12-05 17:36:29

问题


I want to do something using Annotation processing in eclipse jdt.

Eclipse jdtapt help tells me I should configure things on the java/compiler/annotation processing preferences page.

But on my installation (Indigo), the compiler section doesn't have this annotation processing subsection. It only has building,errors/warnings,javadoc, task tags.

Is something wrong with my installation ?


回答1:


The annotation processing tab does not exist in the Preferences page that is accessible from the Eclipse menu bar. It is a project-specific menu that is accessible if you right-click on a project in the Project Explorer and select Preferences in the pop-up menu that will appear.

You may have to enable project-specific settings for the Java compiler tab and annotation processing explicitly before it will appear, as mentioned in this tutorial.




回答2:


I autogenerate my eclipse project files, so I prefer setting this stuff w/o using the UI ...

project/.factorypath:

<factorypath>
    <factorypathentry kind="WKSPJAR" id="../build/EpicBuilder.jar" enabled="true" runInBatchMode="false"/>
</factorypath>

project/.settings/org.eclipse.jdt.apt.core.prefs:

eclipse.preferences.version=1
org.eclipse.jdt.apt.aptEnabled=true
org.eclipse.jdt.apt.genSrcDir=.apt_generated
org.eclipse.jdt.apt.reconcileEnabled=true

project/.settings/org.eclipse.jdt.core.prefs:

eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.processAnnotations=enabled



回答3:


Maybe you are running a multi-module project. You are looking for the annotation processing tab in the parent project which might have a <packaging>pom</packaging> in its pom.xml

If so, you won't find the tab here. Go to a specific project with packaging jar and you will see the tab.

I search for this a few hours, so maybe this helps someone saving time.



来源:https://stackoverflow.com/questions/9850952/eclipse-java-annotation-processing

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!