我有一个Maven项目,我整合了webstart-maven-plugin。 jnlp生成了,我想通过将它部署到jetty来测试它,但是没有找到任何jetty目标来实现它。有没有一种自动测试jnlp的方法?
答案 0 :(得分:1)
我一直在使用webstart-maven-plugin
一段时间,直到我意识到它只是填充了一个jnlp模板并复制了jar文件。
现在,我正在使用静态jnlp(存储在src/main/webapp/applet
)和maven-dependency-plugin
来复制jar:
<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>
它实际上将applet复制到target/web-resources/applet
。然后我只需要在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
配置on this page的更多信息。