<dependency>
<groupId>com.cookingfox</groupId>
<artifactId>cuttle-maven-plugin</artifactId>
<version>1.0.0</version>
</dependency>
package com.example;
public class {{className}} {
public {{className}}() {
// constructor
}
public void hello() {
System.out.println("Hello, Cuttle!");
}
}
<plugins>
<plugin>
<groupId>com.cookingfox</groupId>
<artifactId>cuttle-maven-plugin</artifactId>
<version>1.0.0</version>
<executions>
<execution>
<goals>
<goal>generate</goal>
</goals>
<phase>generate-sources</phase>
<configuration>
<sourceTemplateDirectory>${project.basedir}/templates</sourceTemplateDirectory>
<outputDirectory>${project.build.directory}/generated-sources</outputDirectory>
<outputFileExtension>java</outputFileExtension>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
mvn generate-sources
package com.example;
public class Main {
public static void main(String[] args) {
{{className}} instance = new {{className}}();
instance.hello();
}
}