maven的pom中如下配置resource有什么意义,默认打包不就是src与resource吗,为啥还要这么配?

    <build>
        <finalName>app</finalName>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
        <resources>
            <resource>
                <directory>src/main/resources</directory>
            </resource>
            <resource>
                <directory>src/main/java</directory>
                <filtering>true</filtering>
                <includes>
                    <include>**/*</include>
                </includes>
            </resource>
        </resources>
    </build>
阅读 2.1k
2 个回答

主要是这个有疑义:

<resource>
    <directory>src/main/java</directory>
    <filtering>true</filtering>
    <includes>
        <include>**/*</include>
    </includes>
</resource>

默认下只会编译src/main/java下的java文件,但可能有人就是在这里放了一些非java文件,例如xxxMapper.xml(正常应该放在src/main/resources下比较合理),那这些文件是没有打进包里去的,所以会加上这个,如果你确认src/main/java下没有需要打包的文件,那可以不用写。

此插件更多的是排除某些文件,如果项目中有些外部引用文件、类库太大了而且固定不变,但在开发多人协作时可能放到resources下做版本控制,方便团队所有人在开发时都能引用到不会报错,但实际正式环境部署时会直接在服务器某个位置事先放好了这个文件,打包时就用这个插件来排除下,不然每次打包都带上这个大文件,打出的包太大,部署也费劲。

目测都是默认配置,并无作用
另外公司项目或者其他项目的内容,建议问作者

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题