如何在没有WEB-INF的情况下将静态资源部署到tomcat?

时间:2017-06-28 11:10:51

标签: java maven tomcat

我想创建一个仅包含静态资源的war包。例如:

/src/main/resources/files/example.xml

因此,我创建了以下maven配置:

<?xml version="1.0" encoding="UTF-8"?>
<project>
    <groupId>my.domain</groupId>
    <artifactId>testpackage</artifactId>
    <version>1.0.0</version>
    <packaging>war</packaging>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-war-plugin</artifactId>
                <version>3.1.0</version>
                <configuration>
                    <failOnMissingWebXml>false</failOnMissingWebXml>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>

tomcat8上部署时,我得到以下结构:

localhost:8080/testpackage/WEB-INF/classes/files/example.xml

我想要的是能够直接使用以下方式访问静态文件:

localhost:8080/testpackage/files/example.xml

问题:如何在没有/WEB-INF/classes的路径中创建可展开的战争?

(我知道我可以手动将文件复制到/webapps文件夹中。但其他人应该只能通过tomcat管理器Web界面部署静态内容,因此需要进行适当的战争。)

1 个答案:

答案 0 :(得分:2)

网络资源位于src/main/webapp

src/main/resources用于类路径资源。

请参阅project layout documentation