Search code examples
maven-2netbeansnetbeans-platform

How to use the Maven's Netbeans Module plugin to create an autoupdate site as an artifact?


How to use the Maven's Netbeans Module plugin to create an autoupdate site as an artifact ?

I can see the files of the auto-update site been generated in the target/ directory, but I have no idea how to turn it into an artifact.

My final purpose is to have it embedded into a war for an easier installation (I will use the dependency plugin to unpack the artifact there).


Solution

  • I'm not an expert but isn't generating a webstart app the "classic" way to handle this? From the documentation:

    The nbm-aplication project/packaging defines a build lifecycle that creates a final application from the nbm files in local/remote repotories and bundles them in a zip file (also uploadable to the repository) In addition to that you can configure the project to generate an autoupdate site and/or a webstartable binaries of the applications.

    <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>nbm-maven-plugin</artifactId>
        <executions>
            <execution>
                <id>extra</id>
                <phase>package</phase>
                <goals>
                    <goal>autoupdate</goal>
                    <goal>webstart-app</goal>
                </goals>
                <configuration>
                    <!--distBase>central::default::http://repo1.maven.org/maven2</distBase-->
                    <codebase>${project.build.directory}/webstart/milos</codebase>
                </configuration>
            </execution>
        </executions>
    </plugin>
    

    See the autoupdate and webstart-app goals for more details.


    but this plugin doesn't create an artifact out of the files it generates, and that's my problem... because I need it to be unpacked in a different place during the build of my "war" project.

    In that case, I'd use the Maven Assembly Plugin to create a distribution of the generated files (zip, tar.gz, whatever) and get it installed in your local repository during the build. You could then unpack the archive from the war project using dependency:unpack.