Windows laucher example from BeanMinder

For Windows, the BeanMinder project builds a directory structure containing a .exe launcher, .lap control file and libraries directory, and archives it into a .zip file.

Note that the code of the application is in the BeanMinderCore module, and that the pom.xml shown here is from a separate BeanMinderCoreWindows module.

Here are the relevant sections of the pom.xml from that project:

...
  <dependencies>
    <dependency>
      <groupId>org.devzendo</groupId>
      <artifactId>BeanMinderCore</artifactId>
      <version>0.2.0-SNAPSHOT</version>
    </dependency>
  </dependencies>

  <build>
    <plugins>
      <!-- Create the Windows launcher structure under target/windows. -->
      <plugin>
        <groupId>org.devzendo</groupId>
        <artifactId>cross-platform-launcher-plugin</artifactId>
        <version>1.2.0</version>
        <configuration>
          <os>Windows</os>
          <applicationName>BeanMinder</applicationName>
          <mainClassName>org.devzendo.minimiser.MiniMiser</mainClassName>
        </configuration>
        <executions>
          <execution>
            <id>createlauncher</id>
            <phase>generate-resources</phase>
            <goals>
              <goal>createlauncher</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      
      <!-- Package the above launcher structure into a .zip archive -->
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <configuration>
          <descriptorRefs>
            <descriptorRef>windows-launcher-distribution</descriptorRef>
          </descriptorRefs>
        </configuration>
        <dependencies>
          <dependency>
            <groupId>org.devzendo</groupId>
            <artifactId>cross-platform-launcher-plugin</artifactId>
            <version>1.1.0</version>
          </dependency>
        </dependencies>
        <executions>
          <execution>
            <id>make-assembly</id>
            <phase>package</phase>
            <goals>
              <goal>attached</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
...