Hallo,
ich schaue mir gerade das Thema Annotation Processing an. Ich bin jetzt soweit, dass ich über die Kommandozeile veranlassen kann, dass eine bestimmte Datei im Laufe des Compileprozesses nach einer bestimmten Annotation gescannt und eine .java-Datei erstellt wird.
Jetzt möchte ich das auch in Eclipse einbinden und nicht mehr jedes Mal händisch triggern müssen.
Ich habe beide Projekte (das mit Annotationen und Prozessor + ein Testprojekt mit ner Dummyklasse) in einem Workspace.
In den allgemeinen Eclipse-Preferences habe ich unter Maven/Annotation Processing eingestellt "Experimental: Delegate annotation processing to maven plugins".
Bei den Projektspezifischen Einstellungen habe ich unter Java Compiler/Annotation Processing die Felder "Enable project specific settings", "Enable annotation processing" und "Enable processing in editor" angekreuzt.
Der Factory Path enhält einen Verweis auf die .jar des Prozessor-Projektes.
Wenn ich mein Testprojekt aber baue, sehe ich nirgendwo einen neuen Ordner/eine neue Datei auftauchen. Auch in der Konsole erscheint keine Meldung (Im Prozessor sind mit messager.printMessage(Kind.NOTE, ...) mehrere Statusmeldungen eingebaut).
POM des Prozessorprojektes:
POM des Testprojektes:
Was übersehe ich?
ich schaue mir gerade das Thema Annotation Processing an. Ich bin jetzt soweit, dass ich über die Kommandozeile veranlassen kann, dass eine bestimmte Datei im Laufe des Compileprozesses nach einer bestimmten Annotation gescannt und eine .java-Datei erstellt wird.
Jetzt möchte ich das auch in Eclipse einbinden und nicht mehr jedes Mal händisch triggern müssen.
Ich habe beide Projekte (das mit Annotationen und Prozessor + ein Testprojekt mit ner Dummyklasse) in einem Workspace.
In den allgemeinen Eclipse-Preferences habe ich unter Maven/Annotation Processing eingestellt "Experimental: Delegate annotation processing to maven plugins".
Bei den Projektspezifischen Einstellungen habe ich unter Java Compiler/Annotation Processing die Felder "Enable project specific settings", "Enable annotation processing" und "Enable processing in editor" angekreuzt.
Der Factory Path enhält einen Verweis auf die .jar des Prozessor-Projektes.
Wenn ich mein Testprojekt aber baue, sehe ich nirgendwo einen neuen Ordner/eine neue Datei auftauchen. Auch in der Konsole erscheint keine Meldung (Im Prozessor sind mit messager.printMessage(Kind.NOTE, ...) mehrere Statusmeldungen eingebaut).
POM des Prozessorprojektes:
Code:
<dependencies>
<dependency>
<groupId>com.squareup</groupId>
<artifactId>javawriter</artifactId>
<version>2.2.1</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
<compilerArgument>-proc:none</compilerArgument>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>1.6</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
POM des Testprojektes:
Code:
<dependencies>
<dependency>
<groupId>de.shareil.codegenerator</groupId>
<artifactId>codegenerator</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
<compilerArgument>-proc:none</compilerArgument>
</configuration>
</plugin>
</plugins>
</build>
Was übersehe ich?