当使用maven-webstart-plugin构建jnlp时,我发现jnlp中没有包含运行时依赖项。
我用的是这样的模板:
<?xml version="1.0" encoding="utf-8"?>
<jnlp spec="$jnlpspec" codebase="${url}/${appName}" href="${outputFile}">
<information>
<title>${appName}</title>
<vendor>$project.Organization.Name</vendor>
<homepage href="${url}/${appName}"/>
<offline-allowed/>
</information>
<security>
<all-permissions/>
</security>
<resources>
<j2se version="$j2seVersion"/>
$dependencies
</resources>
<application-desc main-class="${main}" />
</jnlp>如何包括运行时依赖项?好吧,我可以把它们都单独列出来:
<plugin>
<groupId>org.codehaus.mojo.webstart</groupId>
<artifactId>webstart-maven-plugin</artifactId>
<configuration>
<dependencies>
<includes>
<include>groupId:artifactId</include>
...
</includes>
</dependencies>
...
</configuration>
</plugin>理想情况下,我不想每次在项目中添加运行时依赖项时都要记住更改这个特性。
是否有方法指示插件包含所有运行时依赖项?
发布于 2012-05-30 21:31:18
因此,默认情况是包含所有的编译和运行时依赖项。
这是怎么回事?
嗯,我还使用ant将jnlp部署到服务器上,并且在ant文件中,$dependencies是使用mvn:dependencies设置的,而不将作用域指定为运行时。因此,添加范围将更改$dependencies文件集,该文件集被合并到jnlp文件中。
发布于 2011-10-11 12:14:34
我使用父pom配置,其中一个模块是web项目。我想把这件事尽量减少。我只编译日志库、主应用程序模块(在同一个父pom结构中的另一个模块)和jar文件(包括本机二进制文件)的依赖关系。除了这些编译依赖项之外,我还有一些测试依赖项和一个本地javaws.jar文件的系统依赖项。
看起来,maven webstart插件包含来自模块的任何运行时依赖项,这些模块作为编译依赖项包含到webstart项目中。对您来说,以类似的方式拆分项目可能是一个解决方案。
关于本地二进制文件。我必须修改速度模板才能将这些依赖项作为nativelib来获得,而不是jar资源。
https://stackoverflow.com/questions/7254117
复制相似问题