如何使用Maven的Netbeans Module插件创建一个autoupdate站点作为工件?

时间:2010-06-30 03:11:59

标签: maven-2 netbeans netbeans-platform

如何使用Maven的Netbeans Module插件创建自动更新站点作为工件?

我可以看到自动更新站点的文件是在目标/目录中生成的,但我不知道如何将其转换为工件。

我的最终目的是将它嵌入到战争中以便于安装(我将使用依赖插件来解压缩那里的工件)。

2 个答案:

答案 0 :(得分:2)

我不是专家,但是没有生成webstart应用程序的“经典”方式来处理这个问题?来自documentation

  

nbm-aplication项目/包装   定义创建的构建生命周期   来自nbm文件的最终应用程序   在本地/远程repotories和捆绑   它们在一个zip文件中(也可以上传到   存储库)除此之外   您可以将项目配置为   生成自动更新站点和/或   webstartable二进制文件   应用

<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>
     

请参阅autoupdate和   webstart-app目标更多   的信息。


  

但是这个插件不会从它生成的文件中创建一个工件,这就是我的问题...因为我需要在构建我的“war”项目时将其解压缩到不同的地方。

在这种情况下,我会使用Maven Assembly Plugin创建生成文件的分发(zip,tar.gz,无论如何),并在构建期间将其安装在本地存储库中。然后,您可以使用dependency:unpack从war项目中解压缩归档文件。

答案 1 :(得分:0)

nbm插件中的更新站点目标适用于“pom”打包项目,然后从reactor中的项目创建更新站点。它不会生成工件,因为pom项目不能附加工件。

然后它也适用于nbm应用程序项目,它接受项目的依赖项并从中创建更新站点。然后更新站点gzip附加到主工件(这是应用程序zip文件,但它的创建可以通过我认为的参数来抑制)。如果将此用例与指向发布存储库的nbm distribution url参数组合在一起,则基本上发布存储库等于部署更新站点和版本化的更新站点。显然,在正在运行的应用程序中,您需要一个稳定的URL,因此您需要以某种方式(手动地,在测试之后)将当前更新站点符号链接到该公共URL。