1

我有一个 Maven 项目,并且已经集成了webstart-maven-plugin。生成了 jnlp,我想通过将其部署到码头来对其进行测试,但还没有找到任何码头目标来实现这一目标。有没有一种自动化的方法来测试 jnlp?

4

1 回答 1

1

我已经使用webstart-maven-plugin了一段时间,直到我意识到它只是填充了一个 jnlp 模板并复制了 jar 文件。

现在,我正在使用静态 jnlp(存储在 中src/main/webapp/applet)并maven-dependency-plugin复制 jar(s):

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-dependency-plugin</artifactId>
            <executions>
                <execution>
                    <id>applet-copy</id>
                    <phase>process-resources</phase>
                    <goals>
                        <goal>copy</goal>
                    </goals>
                    <configuration>
                        <artifactItems>
                            <artifactItem>
                                <groupId>applet.group.id</groupId>
                                <artifactId>applet-artifact-id</artifactId>
                                <version>x.y.z</version>
                                <type>jar</type>
                                <destFileName>applet.jar</destFileName>
                            </artifactItem>
                        </artifactItems>
                        <outputDirectory>${project.build.directory}/web-resources/applet</outputDirectory>
                    </configuration>
                </execution>
            </executions>
        </plugin>

它实际上将小程序复制到target/web-resources/applet. 然后我只需将此目录添加为 Web 资源jetty-maven-plugin

        <plugin>
            <groupId>org.mortbay.jetty</groupId>
            <artifactId>jetty-maven-plugin</artifactId>
            <version>8.1.9.v20130131</version>
            <configuration>
                <stopKey>STOP</stopKey>
                <stopPort>9999</stopPort>
                <scanIntervalSeconds>5</scanIntervalSeconds>
                <webAppConfig>
                    <contextPath>/${project.artifactId}</contextPath>
                    <resourceBases>
                        <resourceBase>${project.build.directory}/web-resources</resourceBase>
                    </resourceBases>
                </webAppConfig>
            </configuration>
        </plugin>

并将其添加到战争中:

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-war-plugin</artifactId>
            <version>2.2</version>
            <configuration>
                <webResources>
                    <resource>
                        <directory>${project.build.directory}/web-resources</directory>
                    </resource>
                </webResources>
            </configuration>
        </plugin>

希望能帮助到你。

顺便说一句,您可以在此页面上jetty-maven-plugin找到有关配置的更多信息。

于 2013-05-17T10:26:36.090 回答