JavaCC Examples
This page provides examples of how to use the javacc goal.
Basic Example
This example shows how to pass parameters to JavaCC. A list of all configuration options can be seen on the javacc goal page.
<project>
...
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>javacc-maven-plugin</artifactId>
<version>3.1.1</version>
<executions>
<execution>
<id>javacc</id>
<goals>
<goal>javacc</goal>
</goals>
<configuration>
<lookAhead>2</lookAhead>
<isStatic>false</isStatic>
</configuration>
</execution>
</executions>
</plugin>
...
</plugins>
...
</build>
...
</project>Using Excludes and Includes
Sometimes you may want to process some grammar files before others. In this case the <includes> and <excludes> configuration options can be used. In the example below, all files in the source directory that end with -step-1.jj will be processed by JavaCC, and then all other .jj files will be processed.
<project>
...
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>javacc-maven-plugin</artifactId>
<version>3.1.1</version>
<executions>
<execution>
<id>javacc-step-1</id>
<goals>
<goal>javacc</goal>
</goals>
<configuration>
<includes>
<include>**/*-step-1.jj</include>
</includes>
</configuration>
</execution>
<execution>
<id>javacc-step-2</id>
<goals>
<goal>javacc</goal>
</goals>
<configuration>
<excludes>
<exclude>**/*-step-1.jj</exclude>
</excludes>
</configuration>
</execution>
</executions>
</plugin>
...
</plugins>
...
</build>
...
</project>

