zoukankan      html  css  js  c++  java
  • Maven:打包后缺少资源文件

    默认情况

    • maven认为src/main/java只是java的源代码路径,只会把.java为后缀的文件进行打包
    • resources目录下的文件始终都会打包进jar包或war包

    问题一:XML文件放在【src/main/java】目录,不会被打包

    原因:
    当使用Mybatis时,把xml文件放在与mapper文件同一目录(如:src/main/java/top/testops/mapper),而maven默认不会打包src/main/java下的非.java后缀的文件。

    解决方案:
    pom.xml文件中,添加代码:

    <build>
        <resources>
            <resource>
                <directory>src/main/java</directory>
                <includes>
                    <include>**/*.xml</include>
                </includes>
            </resource>
        </resources>
    </build>
    

    问题二:【src/main/resources】目录下的文件不会被打包

    表现:
    pom.xml添加了上述配置后,再进行打包,会发现:

    • src/main/java的xml文件会被一起打包
    • src/main/resources目录下的文件不会被打包

    原因:
    pom.xml添加了上述配置后,会覆盖默认的逻辑,令Maven不会打包resources目录下的文件

    解决方案:
    pom.xml文件中,修改<resources>为:

    <build>
        <resources>
            <resource>
                <directory>src/main/java</directory>
                <includes>
                    <include>**/*.xml</include>
                </includes>
            </resource>
            <resource>
                <directory>src/main/resources</directory>
                <includes>
                    <include>**/*.yml</include>
                    <include>**/*.properties</include>
                    <include>**/*.xml</include>
                    <include>**/*.jpg</include>
                    <include>**/*.ttf</include>
                    <include>**/*.xml</include>
                </includes>
                <excludes>
                    <exclude>**/*.yml</exclude>
                </excludes>
            </resource>
        </resources>
    </build>
    

    解释:

    • <directory>:该规则适用的目录。
    • <include>:能匹配上的,会进行打包。
    • <exclude>:能匹配上的,不会进行打包。与<include>冲突时,以<exclude>为准,即不会进行打包。
    • **/*.yml:该写法是为了保证各级子目录下的资源文件被打包。如过只写*.yml,则表示只有src/main/resources一级目录下,以yml为后缀的文件会被打包
  • 相关阅读:
    Java实现各种内部排序算法
    Java实现堆排序(大根堆)
    Java对象的序列化和反序列化
    Java实现链式存储的二叉查找树(递归方法)
    337. House Robber III(包含I和II)
    318. Maximum Product of Word Lengths
    114. Flatten Binary Tree to Linked List
    106. Construct Binary Tree from Inorder and Postorder Traversal
    105. Construct Binary Tree from Preorder and Inorder Traversal
    96. Unique Binary Search Trees(I 和 II)
  • 原文地址:https://www.cnblogs.com/testopsfeng/p/15384704.html
Copyright © 2011-2022 走看看