java - 没有WEB-INF如何给tomcat部署静态资源?

标签 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

问题:我如何创建一个可部署的 war ,在没有 /WEB-INF/classes 的路径中爆炸?

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

最佳答案

Web 资源位于 src/main/webapp 下。

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

参见 project layout documentation .

关于java - 没有WEB-INF如何给tomcat部署静态资源?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44800811/

相关文章:

java - 检查 Tomcat 版本

java - 在首次加载 ViewPager 时显示内容

java - Tomcat的 "Catalina service"和 "Servlet Engine"之间的区别

java - 从链接获取信息

java - 无法使用 Java 类和 Jar 文件找到或加载主类

java - Maven 执行插件 ClassNotFoundException

maven - Apache tomcat 无法识别 git stashed,后来 git stash 应用了更改

java - 即使没有 gc 根,WebappClassLoader 内存泄漏

java - 使用 Main.Dart 与 .java 的 Flutter 示例入门代码

java - Collections.sort() 在大型 ArrayList 中失败,经常排序