With the example it won't directly work, as the lombok example disables standard annotation processing, which is required by Hibernate modelgen: https://github.com/ivy-lmu/IvyLombokExample/blob/master/IvyLombokExample/pom.xml#L29
However, instead of the promoted -proc:none
flag, you could also use an explicit whiteliste of annotation processors to use. See the valid JDT options:
Annotation processing options:
These options are meaningful only in a 1.6 environment.
-Akey[=value] options that are passed to annotation processors
-processorpath <directories and ZIP archives separated by :>
specify locations where to find annotation processors.
If this option is not used, the classpath will be
searched for processors
-processor <class1[,class2,...]>
qualified names of the annotation processors to run.
This bypasses the default annotation discovery process
-proc:only run annotation processors, but do not compile
-proc:none perform compilation but do not run annotation
processors
-s <dir> destination directory for generated source files
-XprintProcessorInfo print information about which annotations and elements
a processor is asked to process
-XprintRounds print information about annotation processing rounds
-classNames <className1[,className2,...]>
qualified names of binary classes to process
So I'd identify the Modelgen annotation processor, by just using this library and printing the processesor info via -XprintProcessorInfo
. Once you see these classes; white list them via -processor classNames
option. Which should therefore bypass other annotation processors, such as lombok.