views:

409

answers:

2

I am using apt-maven-plugin to process some Beehive Netui annotations before building a war.

The output of the apt processing is a _pageflow directory which contains struts config files (xml text) and the like. The problem is that it is being output in whatever directory I run maven from, not in the ${project.build.directory}/classes directory which is what I want. I tried setting the outputDirectory and the resourceTargetPath properties, but neither changed this behavior.

Is there another parameter to set that I'm missing?

Here's my current plugin configuration.

<build>
  <plugins>
    <plugin>
      <groupId>org.codehaus.mojo</groupId>
      <artifactId>apt-maven-plugin</artifactId>
      <version>1.0-alpha-3</version>
      <inherited>false</inherited>
      <configuration>
        <outputDirectory>${project.build.directory}/classes</outputDirectory>
        <options>
          <option>web.content.root=${project.build.directory}/classes</option>
        </options>
      </configuration>
      <executions>
        <execution>
          <goals>
            <goal>process</goal>
          </goals>
        </execution>
      </executions>
      <dependencies>
        <dependency>
          <groupId>weblogic</groupId>
          <artifactId>beehive-netui-compiler</artifactId>
          <version>${weblogic-version}</version>
        </dependency>
      </dependencies>
    </plugin>
  </plugins>
</build>
+2  A: 

Your problem really looks like MOJO-1478 (are you using a Mac)? Maybe have a look at the patch (and reopen the issue or create a new one).

PS: Don't you have to configure a factory? I don't get how the beehive-netui-compiler dependency is used here. Is the factory magically picked up from that dependency just because you specified it?

Pascal Thivent
Yes, the factory is automagically picked up from the dependency. I'm using cygwin on Win XP, but that does look a lot like the bug report. Thanks.
Ryan Ahearn
And yes, that patch fixed my issue.
Ryan Ahearn
A: 

i have same problem with apt-maven-plugin outputDirectory is ignored in mine maven project default value (plugin documentation) (${project.build.directory}/classes) is ignored too. source are generated in root of my project instead of the requested outputDirectory...

for your PS :

if factory is not specified in plugin configuration, it use standard sun feature, create following text file in your src/main/resources folder :

META-INF/services/com.sun.mirror.apt.AnnotationProcessorFactory

this file have to contain the full class name of the factory, apt command use it

regards

jraduget