Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Maven webstart插件包含运行时依赖项_Maven_Jnlp_Java Web Start_Maven Webstart Plugin - Fatal编程技术网

Maven webstart插件包含运行时依赖项

Maven webstart插件包含运行时依赖项,maven,jnlp,java-web-start,maven-webstart-plugin,Maven,Jnlp,Java Web Start,Maven Webstart Plugin,在使用maven webstart插件构建jnlp时,我发现jnlp中没有包含运行时依赖项 我使用的模板如下: <?xml version="1.0" encoding="utf-8"?> <jnlp spec="$jnlpspec" codebase="${url}/${appName}" href="${outputFile}"> <information> <title>${appName}</title>

在使用maven webstart插件构建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>

${appName}
$project.Organization.Name
$dependencies
如何包含运行时依赖项?好吧,我可以将它们单独包括在内:

<plugin>
    <groupId>org.codehaus.mojo.webstart</groupId>
    <artifactId>webstart-maven-plugin</artifactId>
    <configuration>
      <dependencies>
        <includes>
          <include>groupId:artifactId</include>
          ...
        </includes>
      </dependencies>
      ...
    </configuration>
  </plugin>

org.codehaus.mojo.webstart
webstart maven插件
groupId:artifactId
...
...
…但理想情况下,我不希望每次向项目添加运行时依赖项时都要记住更改此选项


是否有方法指示插件包含所有运行时依赖项?

我使用父pom配置,其中一个模块是web start项目。我喜欢尽可能地减少这个。我只编译了日志库、主应用程序模块(同一父pom结构中的另一个模块)和包含本机二进制文件的jar文件的依赖项。除了这些编译依赖项之外,我还有一些测试依赖项和对本地javaws.jar文件的系统依赖项

maven webstart插件似乎包含来自模块的任何运行时依赖项,这些模块作为编译依赖项包含在web start项目中。 以类似的方式拆分项目可能是一种解决方案


关于本机二进制文件。我不得不对velocity模板进行一些修改,以将这些依赖项作为nativelib而不是jar资源来获取。

因此,默认设置是包含所有编译和运行时依赖项

发生了什么事


我还使用ant将jnlp部署到服务器上,在ant文件中,
$dependencies
使用
mvn:dependencies
进行设置,而没有将范围指定为runtime。因此,添加作用域会更改并入jnlp文件的
$dependencies
文件集。

请将您的解决方案与修改后的nativelib参数velocity模板共享好吗?