`

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

 
阅读更多

首先,来看下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代码  收藏代码
  1. <build>  
  2.     <finalName>test</finalName>  
  3.     <!--  
  4.     这样也可以把所有的xml文件,打包到相应位置。  
  5.     <resources>  
  6.         <resource>  
  7.             <directory>src/main/resources</directory>  
  8.             <includes>  
  9.                 <include>**/*.properties</include>  
  10.                 <include>**/*.xml</include>  
  11.                 <include>**/*.tld</include>  
  12.             </includes>  
  13.             <filtering>false</filtering>  
  14.         </resource>  
  15.         <resource>  
  16.             <directory>src/main/java</directory>  
  17.             <includes>  
  18.                 <include>**/*.properties</include>  
  19.                 <include>**/*.xml</include>  
  20.                 <include>**/*.tld</include>  
  21.             </includes>  
  22.             <filtering>false</filtering>  
  23.         </resource>  
  24.     </resources>  
  25. </build>  

 

方法2,利用build-helper-maven-plugin插件

Xml代码  收藏代码
  1. <build>  
  2.     ...  
  3.     </plugins>  
  4.         ...  
  5.         <!--  
  6.         此plugin可以用  
  7.         利用此plugin,把源代码中的xml文件,  
  8.         打包到相应位置,这里主要是为了打包Mybatis的mapper.xml文件   
  9.         -->  
  10.         <plugin>  
  11.             <groupId>org.codehaus.mojo</groupId>  
  12.             <artifactId>build-helper-maven-plugin</artifactId>  
  13.             <version>1.8</version>  
  14.             <executions>  
  15.                 <execution>  
  16.                     <id>add-resource</id>  
  17.                     <phase>generate-resources</phase>  
  18.                     <goals>  
  19.                         <goal>add-resource</goal>  
  20.                     </goals>  
  21.                     <configuration>  
  22.                         <resources>  
  23.                             <resource>  
  24.                                 <directory>src/main/java</directory>  
  25.                                 <includes>  
  26.                                     <include>**/*.xml</include>  
  27.                                 </includes>  
  28.                             </resource>  
  29.                         </resources>  
  30.                     </configuration>  
  31.                 </execution>  
  32.             </executions>  
  33.         </plugin>     
  34.         ...  
  35.     </plugins>       
  36.     ...  
  37. </build>  

 

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

 

Xml代码  收藏代码
  1. <build>  
  2.     ...  
  3.     </plugins>  
  4.         ...  
  5.         <!--  
  6.         此plugin可以用  
  7.         利用此plugin,把源代码中的xml文件,打包到相应位置,  
  8.         这里主要是为了打包Mybatis的mapper.xml文件   
  9.         -->  
  10.         <plugin>  
  11.             <artifactId>maven-resources-plugin</artifactId>  
  12.             <version>2.5</version>  
  13.             <executions>  
  14.                 <execution>  
  15.                     <id>copy-xmls</id>  
  16.                     <phase>process-sources</phase>  
  17.                     <goals>  
  18.                         <goal>copy-resources</goal>  
  19.                     </goals>  
  20.                     <configuration>  
  21.                         <outputDirectory>${basedir}/target/classes</outputDirectory>  
  22.                         <resources>  
  23.                             <resource>  
  24.                                 <directory>${basedir}/src/main/java</directory>  
  25.                                 <includes>  
  26.                                     <include>**/*.xml</include>  
  27.                                 </includes>  
  28.                             </resource>  
  29.                         </resources>  
  30.                     </configuration>  
  31.                 </execution>  
  32.             </executions>  
  33.         </plugin>     
  34.         ...  
  35.     </plugins>       
  36.     ...  
  37. </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多模块项目编译速度.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安装包(版本:3.5.3)

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

    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 使用仓库管理依赖,包括本地仓库(默认在用户主目录的`....

    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.0.2.zip

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

    apache-maven-3.3.9版本.zip

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

Global site tag (gtag.js) - Google Analytics