`
MauerSu
  • 浏览: 513480 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

利用MAVEN打包时,如何包含更多的资源文件

 
阅读更多
源:http://bglmmz.iteye.com/blog/2063856
评:
首先,来看下MAVENx项目标准的目录结构:




一般情况下,我们用到的资源文件(各种xml,properites,xsd文件等)都放在src/main/resources下面,利用maven打包时,maven能把这些资源文件打包到相应的jar或者war里。



有时候,比如mybatis的mapper.xml文件,我们习惯把它和Mapper.java放一起,都在src/main/java下面,这样利用maven打包时,就需要修改pom.xml文件,来把mapper.xml文件一起打包进jar或者war里了,否则,这些文件不会被打包的。(maven认为src/main/java只是java的源代码路径)。网络上有很多方法,我大概试了下,几种方法都可以,可以任选一种即可。



方法1,其中**/*这样的写法,是为了保证各级子目录下的资源文件被打包。
Xml代码  收藏代码

    <build> 
        <finalName>test</finalName> 
        <!-- 
        这样也可以把所有的xml文件,打包到相应位置。 
        <resources> 
            <resource> 
                <directory>src/main/resources</directory> 
                <includes> 
                    <include>**/*.properties</include> 
                    <include>**/*.xml</include> 
                    <include>**/*.tld</include> 
                </includes> 
                <filtering>false</filtering> 
            </resource> 
            <resource> 
                <directory>src/main/java</directory> 
                <includes> 
                    <include>**/*.properties</include> 
                    <include>**/*.xml</include> 
                    <include>**/*.tld</include> 
                </includes> 
                <filtering>false</filtering> 
            </resource> 
        </resources> 
    </build> 



方法2,利用build-helper-maven-plugin插件
Xml代码  收藏代码

    <build> 
        ... 
        </plugins> 
            ... 
            <!-- 
            此plugin可以用 
            利用此plugin,把源代码中的xml文件, 
            打包到相应位置,这里主要是为了打包Mybatis的mapper.xml文件  
            --> 
            <plugin> 
                <groupId>org.codehaus.mojo</groupId> 
                <artifactId>build-helper-maven-plugin</artifactId> 
                <version>1.8</version> 
                <executions> 
                    <execution> 
                        <id>add-resource</id> 
                        <phase>generate-resources</phase> 
                        <goals> 
                            <goal>add-resource</goal> 
                        </goals> 
                        <configuration> 
                            <resources> 
                                <resource> 
                                    <directory>src/main/java</directory> 
                                    <includes> 
                                        <include>**/*.xml</include> 
                                    </includes> 
                                </resource> 
                            </resources> 
                        </configuration> 
                    </execution> 
                </executions> 
            </plugin>    
            ... 
        </plugins>      
        ... 
    </build> 



方法3,利用maven-resources-plugin插件

Xml代码  收藏代码

    <build> 
        ... 
        </plugins> 
            ... 
            <!-- 
            此plugin可以用 
            利用此plugin,把源代码中的xml文件,打包到相应位置, 
            这里主要是为了打包Mybatis的mapper.xml文件  
            --> 
            <plugin> 
                <artifactId>maven-resources-plugin</artifactId> 
                <version>2.5</version> 
                <executions> 
                    <execution> 
                        <id>copy-xmls</id> 
                        <phase>process-sources</phase> 
                        <goals> 
                            <goal>copy-resources</goal> 
                        </goals> 
                        <configuration> 
                            <outputDirectory>${basedir}/target/classes</outputDirectory> 
                            <resources> 
                                <resource> 
                                    <directory>${basedir}/src/main/java</directory> 
                                    <includes> 
                                        <include>**/*.xml</include> 
                                    </includes> 
                                </resource> 
                            </resources> 
                        </configuration> 
                    </execution> 
                </executions> 
            </plugin>    
            ... 
        </plugins>      
        ... 
    </build> 
分享到:
评论

相关推荐

    maven3.5.4打包文件

    4. **项目对象模型(POM)**:POM.xml 文件是 Maven 项目的核心,它包含了项目的基本信息、构建指令、依赖、插件配置等,使得项目可移植性和可维护性大大提升。 5. **仓库管理**:Maven 使用中央仓库和本地仓库来...

    Java+IDEA+Maven混淆打包

    本教程将详细讲解如何在IntelliJ IDEA(IDEA)中利用Maven进行混淆打包,确保代码的安全性并提高可维护性。 首先,让我们了解一下涉及的工具和技术: 1. **Java**: 一种广泛使用的面向对象的编程语言,用于构建跨...

    maven多环境配置打包

    - 利用Maven的assembly插件或maven-shade-plugin创建独立运行的JAR或WAR,包含所有依赖,方便部署。 - 在CI/CD流程中,集成Maven的profile激活,确保每次构建都是针对目标环境的。 总结来说,Maven的多环境配置...

    Maven学习资源打包汇总

    生命周期包括清理、编译、测试、打包、验证等多个阶段,而插件则提供了执行特定任务的能力。通过理解生命周期,开发者可以更好地组织构建过程,确保每个阶段都得到正确处理。 《Maven实战》是一本实践导向的书籍,...

    尚硅谷Maven课程笔记代码资源

    【尚硅谷Maven课程笔记代码资源】是一份全面学习Maven的资料集合,它涵盖了从基础到高级的各种知识点,旨在帮助开发者深入理解并...通过学习这些内容,你将能够更好地理解和利用Maven的强大功能,提升你的开发工作流。

    maven完全手册

    ** Maven完全手册 ** 在Java开发领域,Maven是一个不可或缺的构建工具,它极大地简化了项目的构建、管理和依赖管理过程。这份“maven完全手册”是个人...通过深入理解和实践,开发者能够更好地利用Maven提升工作效率。

    Maven安装包(版本:3.5.3)

    ** Maven安装包(版本:3.5.3)** Maven是Java开发中不可或缺的构建工具,它通过项目对象...通过了解和掌握Maven,开发者能够高效地管理Java项目,提高开发效率,同时利用社区共享的大量Maven插件和库,实现更多功能。

    如何提高Maven多模块项目编译速度.docx

    Maven的settings.xml文件可以定制各种全局配置,包括仓库的设置。如上述所示,可以定义一个profile来指定JDK的路径,以及自定义的远程仓库地址,这有助于减少从默认中央仓库下载依赖的时间。此外,可以调整更新策略...

    Maven3.2.5安装包和源码包

    1. **构建工具**:Maven 使用一种标准化的项目对象模型(Project Object Model, POM),通过POM文件配置,可以自动化构建过程,包括编译、测试、打包、部署等。 2. **依赖管理**:Maven 可以自动下载项目所需的库...

    maven资源包

    本资源包“maven”显然专注于利用Maven来开发Hadoop MapReduce应用,这是一个涉及大数据处理的重要场景。下面将详细阐述Maven与Hadoop MapReduce的结合使用以及相关知识点。 **Maven简介** Maven是由Apache软件基金...

    maven的包 文件包文件包

    Maven鼓励使用标准的项目结构,如src/main/java(源代码)、src/test/java(测试代码)、src/main/resources(资源文件)等。对于大型项目,Maven支持模块化构建,一个父POM可以管理多个子模块。 7. 依赖关系的...

    行业分类-外包设计-基于Maven的前台资源打包并进行版本管理与使用的方法的说明分析.rar

    本文件"行业分类-外包设计-基于Maven的前台资源打包并进行版本管理与使用的方法的说明分析.rar"主要关注如何利用Maven这一强大的构建工具来处理前端资源的打包、版本管理和使用。以下是对这一主题的详细说明。 ...

    maven+spring简单实例

    同时,可以使用`maven-resources-plugin`来处理资源文件,`maven-jar-plugin`或`maven-war-plugin`进行打包操作。 总结一下,"maven+spring简单实例"涉及到的关键知识点包括: 1. Maven的项目对象模型(POM)和...

    Maven3.8.1.rar免费

    每个生命周期包含多个构建阶段,如`clean`生命周期的`clean`阶段用于清理项目,`default`生命周期的`package`阶段用于打包项目。 **七、Maven 仓库** Maven 使用仓库管理依赖,包括本地仓库(默认在用户主目录的`....

    apache-maven-3.0.2.zip

    Maven的生命周期包括清理、编译、测试、打包、验证等多个阶段,每个阶段都有相应的默认目标。 在实际开发中,Maven还支持插件,开发者可以利用插件扩展Maven的功能,例如进行代码覆盖率分析、性能测试等。此外,...

    maven 查找可用jars

    本文将深入探讨“maven查找可用jars”的主题,帮助开发者更好地理解和利用Maven的库资源。 首先,Maven中央仓库是Java开发中最常用的存储库,其中包含了大量公开发布的开源项目JAR文件。开发者可以通过Maven的依赖...

    【超级好用】maven 3.6.1

    - **更好的资源处理**:增强了对项目资源文件的处理,比如过滤和复制资源文件时更加智能。 ### Maven的使用 - **安装与配置**:Maven可以通过官方网站下载,解压后配置环境变量即可。配置文件`settings.xml`用于...

    myMaven实例

    【标题】"myMaven实例"是一个关于使用Maven构建项目的实际示例。Maven是Apache软件基金会开发的一款项目管理...通过这个实例,开发者可以更好地理解Maven的工作原理,从而在实际开发中更高效地利用Maven进行项目管理。

    maven 3.0.2

    **正文** Maven 3.0.2 是一个里程碑式的版本,在软件开发领域,特别是Java世界里,...在使用"apache-maven-3.0.2"压缩包时,按照官方文档进行安装和配置,结合上述知识点,你可以充分利用Maven的功能,提升开发效率。

    apache-maven-3.3.9版本.zip

    Apache Maven 是一个强大的项目管理和构建工具,主要用于Java项目。...通过学习和掌握Maven,开发者可以提高项目构建的效率,减少手动配置的工作量,同时也可以更好地利用社区资源,实现项目的快速开发和部署。

Global site tag (gtag.js) - Google Analytics