【问题标题】:Non-java resources disappear from class package after maven packagingmaven打包后非java资源从类包中消失
【发布时间】:2021-08-25 12:38:15
【问题描述】:

我正在尝试创建一个 Spring 项目结构,其中我的 HTML 模板存储在同一个 src/main/java 包中(以类似 Tapestry 的方式),因此结构基本上如下所示:

src/main/java
            -org
               -example
                  -views
                     -pageOne
                         PageOneController.java
                         Template.html
                     -pageTwo
                         PageTwoController.java
                         Template.html

但是,在使用 Maven 打包 WAR 后,我得到了这样的结构:

WEB-INF/classes
              -org
                 -example
                    -views
                       -pageOne
                           PageOneController.class
                       -pageTwo
                           PageTwoController.class

所以.html 文件被忽略了,显然没有任何效果。 我尝试配置maven-resources-plugin 来复制这些资源,如下所示:

<build>
    <resources>
        <resource>
            <directory>src/main/java</directory>
            <filtering>false</filtering>
            <includes>
                <include>*/**.html</include>
            </includes>
            <excludes>
                <exclude>*/**.java</exclude>
            </excludes>
        </resource>
    </resources>
</build>

但无济于事。

如何配置我的项目以将非 java 文件从 src/main/java 复制到最终输出中?

【问题讨论】:

  • Java 源文件属于src/main/java,资源文件如.html 属于src/main/resources(遵循约定优于配置)。

标签: java maven resources maven-resources-plugin


【解决方案1】:

原来问题出在 maven 模块上。我在主pom.xml 中声明了resources plugin 而不是模块的pom.xml,这会导致配置问题。

【讨论】:

    猜你喜欢
    • 2014-08-06
    • 2023-03-05
    • 2010-09-15
    • 1970-01-01
    • 2012-10-29
    • 2018-04-01
    • 2013-07-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多