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