首先,来看下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,其中**/*这样的写法,是为了保证各级子目录下的资源文件被打包。
- <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插件
- <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插件
- <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>
相关推荐
4. **项目对象模型(POM)**:POM.xml 文件是 Maven 项目的核心,它包含了项目的基本信息、构建指令、依赖、插件配置等,使得项目可移植性和可维护性大大提升。 5. **仓库管理**:Maven 使用中央仓库和本地仓库来...
本教程将详细讲解如何在IntelliJ IDEA(IDEA)中利用Maven进行混淆打包,确保代码的安全性并提高可维护性。 首先,让我们了解一下涉及的工具和技术: 1. **Java**: 一种广泛使用的面向对象的编程语言,用于构建跨...
- 利用Maven的assembly插件或maven-shade-plugin创建独立运行的JAR或WAR,包含所有依赖,方便部署。 - 在CI/CD流程中,集成Maven的profile激活,确保每次构建都是针对目标环境的。 总结来说,Maven的多环境配置...
生命周期包括清理、编译、测试、打包、验证等多个阶段,而插件则提供了执行特定任务的能力。通过理解生命周期,开发者可以更好地组织构建过程,确保每个阶段都得到正确处理。 《Maven实战》是一本实践导向的书籍,...
【尚硅谷Maven课程笔记代码资源】是一份全面学习Maven的资料集合,它涵盖了从基础到高级的各种知识点,旨在帮助开发者深入理解并...通过学习这些内容,你将能够更好地理解和利用Maven的强大功能,提升你的开发工作流。
** Maven完全手册 ** 在Java开发领域,Maven是一个不可或缺的构建工具,它极大地简化了项目的构建、管理和依赖管理过程。这份“maven完全手册”是个人...通过深入理解和实践,开发者能够更好地利用Maven提升工作效率。
** Maven安装包(版本:3.5.3)** Maven是Java开发中不可或缺的构建工具,它通过项目对象...通过了解和掌握Maven,开发者能够高效地管理Java项目,提高开发效率,同时利用社区共享的大量Maven插件和库,实现更多功能。
Maven的settings.xml文件可以定制各种全局配置,包括仓库的设置。如上述所示,可以定义一个profile来指定JDK的路径,以及自定义的远程仓库地址,这有助于减少从默认中央仓库下载依赖的时间。此外,可以调整更新策略...
1. **构建工具**:Maven 使用一种标准化的项目对象模型(Project Object Model, POM),通过POM文件配置,可以自动化构建过程,包括编译、测试、打包、部署等。 2. **依赖管理**:Maven 可以自动下载项目所需的库...
本资源包“maven”显然专注于利用Maven来开发Hadoop MapReduce应用,这是一个涉及大数据处理的重要场景。下面将详细阐述Maven与Hadoop MapReduce的结合使用以及相关知识点。 **Maven简介** Maven是由Apache软件基金...
Maven鼓励使用标准的项目结构,如src/main/java(源代码)、src/test/java(测试代码)、src/main/resources(资源文件)等。对于大型项目,Maven支持模块化构建,一个父POM可以管理多个子模块。 7. 依赖关系的...
本文件"行业分类-外包设计-基于Maven的前台资源打包并进行版本管理与使用的方法的说明分析.rar"主要关注如何利用Maven这一强大的构建工具来处理前端资源的打包、版本管理和使用。以下是对这一主题的详细说明。 ...
同时,可以使用`maven-resources-plugin`来处理资源文件,`maven-jar-plugin`或`maven-war-plugin`进行打包操作。 总结一下,"maven+spring简单实例"涉及到的关键知识点包括: 1. Maven的项目对象模型(POM)和...
每个生命周期包含多个构建阶段,如`clean`生命周期的`clean`阶段用于清理项目,`default`生命周期的`package`阶段用于打包项目。 **七、Maven 仓库** Maven 使用仓库管理依赖,包括本地仓库(默认在用户主目录的`....
Maven的生命周期包括清理、编译、测试、打包、验证等多个阶段,每个阶段都有相应的默认目标。 在实际开发中,Maven还支持插件,开发者可以利用插件扩展Maven的功能,例如进行代码覆盖率分析、性能测试等。此外,...
本文将深入探讨“maven查找可用jars”的主题,帮助开发者更好地理解和利用Maven的库资源。 首先,Maven中央仓库是Java开发中最常用的存储库,其中包含了大量公开发布的开源项目JAR文件。开发者可以通过Maven的依赖...
- **更好的资源处理**:增强了对项目资源文件的处理,比如过滤和复制资源文件时更加智能。 ### Maven的使用 - **安装与配置**:Maven可以通过官方网站下载,解压后配置环境变量即可。配置文件`settings.xml`用于...
【标题】"myMaven实例"是一个关于使用Maven构建项目的实际示例。Maven是Apache软件基金会开发的一款项目管理...通过这个实例,开发者可以更好地理解Maven的工作原理,从而在实际开发中更高效地利用Maven进行项目管理。
**正文** Maven 3.0.2 是一个里程碑式的版本,在软件开发领域,特别是Java世界里,...在使用"apache-maven-3.0.2"压缩包时,按照官方文档进行安装和配置,结合上述知识点,你可以充分利用Maven的功能,提升开发效率。
Apache Maven 是一个强大的项目管理和构建工具,主要用于Java项目。...通过学习和掌握Maven,开发者可以提高项目构建的效率,减少手动配置的工作量,同时也可以更好地利用社区资源,实现项目的快速开发和部署。