Maven程序集插件警告“程序集描述符包含文件系统 - 根相对引用”

时间:2015-02-13 13:11:32

标签: maven cross-platform maven-3 maven-assembly-plugin

从某些程序集插件版本maven build开始发出以下警告:

  

[警告]程序集描述符包含文件系统根相对   引用,不是跨平台兼容/

是否有任何推荐的即用型解决方案?直接谷歌搜索为我提供了大量的垃圾,没有真正的帮助。重新检查Maven程序集插件帮助没有为我提供答案,也许其他人有更好的搜索技能并且可以提供帮助。

更新

是的,这可能是因为类似Linux outputDirectory,但我应该如何重写它以便携带?查看了程序集插件文档,但未找到任何可移植性指南。

<fileSets>
    <fileSet>
        <directory>${basedir}/src/main/resources</directory>
        <outputDirectory>/</outputDirectory>
    </fileSet>
</fileSets>

3 个答案:

答案 0 :(得分:58)

工作解决方案是指定空outputDirectory

<fileSets>
    <fileSet>
        <directory>${basedir}/src/main/resources</directory>
        <outputDirectory></outputDirectory>
    </fileSet>
</fileSets>

答案 1 :(得分:32)

使用空的<outputDirectory>${file.separator}</outputDirectory> 元素有效,但如果有人认为可以安全删除,我不会感到惊讶。

因此,为了更明确,您还可以通过写下来避免警告:

response = HttpResponse()
response.set_cookie("cookie_name", "cookie_value")
response.write(template.render(context))

答案 2 :(得分:3)

请注意,这可能发生在除/之外的其他位置。以上答案是正确的,但不包括这种情况。

在assembly.xml中查找类似的内容:

<fileSets>
    <fileSet>
        <directory>${basedir}/src/main/resources</directory>
        <outputDirectory>/lib</outputDirectory>         <!-- <<< look for this -->
    </fileSet>
</fileSets>

并改为:

<fileSets>
    <fileSet>
        <directory>${basedir}/src/main/resources</directory>
        <outputDirectory>lib</outputDirectory>
    </fileSet>
</fileSets>