Usage

Modify your project POM to look something like this:

<project ...>
  ...
  <build>
    <plugins>
      <plugin>
        <groupId>net.sf.qxs</groupId>
        <artifactId>proxygen-plugin</artifactId>
        <version>1.0.2</version>
        <configuration>
          <!--
            The following configuration parameters are allowed:

              sourceDir (optional)
                Directory of the source tree where source code lives.

              interfaces (mandatory)
                A set of interfaces for which proxy classes are generated.
          -->
          <!--
          <sourceDir>${project.basedir}/src/main/java</sourceDir>
          -->
          <interfaces>
            <!--
              Add the names of proxied interfaces here...
            -->
            <interface>org.example.ClassName</interface>
            <interface>org.example.AnotherClass</interface>
          </properties>
        </configuration>
        <executions>
          <execution>
            <phase>generate-sources</phase>
            <goals><goal>generate-proxies</goal></goals>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
  <pluginRepositories>
    <pluginRepository>
      <id>qxs.sourceforge.net</id>
      <name>QXS Plugin Repository</name>
      <url>http://downloads.sourceforge.net/project/qxs/m2repo</url>
      <snapshots><enabled>false</enabled></snapshots>
      <releases><updatePolicy>never</updatePolicy></releases>
    </pluginRepository>
  </pluginRepositories>
</project>

Change the configuration according to your needs. Next, generate the proxy classes:

mvn generate-sources

Note that there is usually no need for calling the generate-sources target explicitly. The result will be a set of java classes whose names start with Proxy, e.g. org.example.ProxyClassName.