Maven资源过滤破坏资源

时间:2019-01-30 11:43:52

标签: java spring jsf

我的Spring网络应用程序中有一个pdf文件,位于文件夹webapp中。我需要一个href等效的JSF,才能从服务器下载文件。

我尝试了以下几行:

<h:link href="manual.pdf" >Download</h:link>
<h:outputLink value="manual.pdf" target="_blank">Download</h:outputLink>

第一个重定向到首页,第二个重定向到404错误。

请帮助,谢谢。

编辑:建议该帖子How to provide a file download from a JSF backing bean?可以解决我的问题,但这不是正确的,因为在构建.war文件时,我的文件src / main / resources目录中的文件已损坏并被下载为空白页。我将文件移至/ webapp / WEB-INF,以便能够使用“前端”解决方案进行下载。

编辑2:假设这是一个评论中提到的行家过滤问题,所以我对该问题进行了编辑,以便您可以为我提供帮助。

在pom.xml文件中,包含以下几行:

resources>
        <resource>
            <filtering>true</filtering>
                <directory>src/main/resources</directory>
        </resource>
</resources>

我继续进行以下更改:

<resources>
        <resource>
            <filtering>true</filtering>
            <directory>src/main/resources</directory>
                <excludes>
                    <exclude>**/*.pdf</exclude>
                </excludes>
            </resource>
        </resources>

现在,我的.war文件根本不包含manual.pdf,我得到了

  

FileNotFoundException:类路径资源[manual.pdf]不能为   已解析为URL,因为它不存在

请有人帮助我了解如何从过滤中排除资源并使其可供下载为我提供另一种解决方案,即原始解决方案中提到的“前端”解决方案发布,而无需浏览后端代码和资源。

谢谢。

0 个答案:

没有答案