maven 提供了 profile 配置。
profile 配置功能非常强大。典型的应用就是可以解决不同环境下的资源配置和过滤。
1、可以解决配置资源文件的过滤。(eg: src\main\resources)
2、可以解决web资源文件的过滤。(eg:src\main\webapp)
3、可以解决java文件的过滤。(src\main\java)
第一中的情况非常普遍,也是maven必用的功能之一
第二中情况出现也有,相对较少。
下面简单讲解下:
处理web资源文件的插件: maven-war-plugin
指定 过滤的资源目录: <directory>src/main/webapp</directory>
指定:filtering 的值为true,代表对其进行过滤。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.1-beta-1</version>
<configuration>
<webResources>
<resource>
<filtering>true</filtering>
<directory>src/main/webapp</directory>
<includes>
<include>**/*.js</include>
</includes>
</resource>
</webResources>
</configuration>
</plugin>
第三中情况出现的机率很少,但是有时候又非常必要,关于这方面的网上的资料也相当贫乏。我特意举一个例子:
比如我们想在测试环境上跑一个任务task,清理一些垃圾数据,但是这部分功能在生产环境又是不必要的,所以要保证打包的时候,task的class文件在测试环境要有,在生产环境不能有,如何做到呢?
下面的配置:
项目的结构如下:
主代码:src/main/java
定时任务:src/main/task
实现思路:在profile 的test 和pro 配置中 定义变量属性,配置到 指定 build 的sourceDirectory 元素的内容。
<profiles>
<profile>
<id>test</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<build>
<finalName>back-web-test</finalName>
</build>
<properties>
<jsname>js_name</jsname>
<build.sourceDirectory>
src/main
</build.sourceDirectory>
</properties>
</profile>
<profile>
<id>pro</id>
<build>
<finalName>back-web-pro</finalName>
</build>
<properties>
<jsname>js_name</jsname>
<build.sourceDirectory>
src/main/java
</build.sourceDirectory>
</properties>
</profile>
</profiles>
<build>
<finalName>back-web</finalName>
<sourceDirectory>
<!-- 关键点-->
${build.sourceDirectory}
</sourceDirectory>
</build>
另外一种办法:打包的时候不打包编译的class文件。
这个需要配置apache-war-plugin 的非包含路径。
- 大小: 16.7 KB
分享到:
相关推荐
maven-profile-2.0.6.jar!!!
maven项目转换为eclipse项目,可能缺少的包。
maven-profile-2.1.0.jar
maven-profile-2.0.2.jar
maven-profile-2.0.1.jar
Apache Maven 是一个强大的Java项目管理工具,它基于项目对象模型(Project Object Model,POM)的概念,能够自动化构建、依赖管理和项目信息管理。Maven 3.5.4是Maven的一个稳定版本,包含了多项改进和修复,为...
例如,在Unix/Linux系统中,可以在`.bashrc`或`.bash_profile`文件中添加如下行: ```bash export M2_HOME=/path/to/apache-maven-3.6.2 export PATH=$M2_HOME/bin:$PATH ``` 在Windows系统中,需要在系统属性的...
9. ** profiles**:Maven的profile功能允许根据不同的环境或条件选择不同的构建配置。 10. **命令行接口(CLI)**:用户可以通过命令行工具`mvn`执行Maven的各种操作,如`mvn clean install`来清理项目、编译源码并...
Apache Maven 是一个强大的项目管理和构建工具,主要用于Java应用程序的开发。在给定的"apache-maven-3.6.3-bin.tar.gz"压缩包中,包含的是Maven 3.6.3版本的Linux二进制发行版。这个版本是为在Linux操作系统环境下...
Apache Maven 是一个强大的项目管理和构建工具,主要用于Java应用程序的开发。它基于项目对象模型(Project Object Model,POM)的概念,能够自动化构建过程,管理依赖关系,并提供了统一的构建过程,使得开发人员的...
此外,Maven可以通过设置不同的profile来适应不同的环境,如开发、测试和生产环境。 在Tika项目中,它是Apache的一个开源内容检测和解析库,广泛应用于文本提取、元数据获取和格式识别。Tika的构建依赖于Maven,...
3. **配置环境变量**:为了让系统能够找到Maven,你需要编辑`~/.bash_profile`或`~/.zshrc`文件(取决于你的Shell),添加以下行来设置`M2_HOME`和`PATH`: ``` export M2_HOME=/path/to/your/apache-maven-3.9.6 ...
6. **构建配置**:Maven提供了一套灵活的构建配置选项,比如可以通过设置属性值、条件语句、profile来适应不同环境的构建需求。 7. **站点生成**:Maven还可以生成项目文档站点,包括API文档、报告和项目信息,方便...
在IT行业中,Maven是一个非常重要的工具,尤其对于Java开发者来说,它是项目管理和构建的首选。本篇将详细讲解如何在Mac系统上,特别是配备M1芯片的MacBook上安装Apache Maven 3.6.3。 Apache Maven是一个基于项目...
下载 Maven, 并解压到某个目录。例如/Users/robbie/apache-maven-3.3.3 打开Terminal,输入以下命令,设置Maven classpath $ vi ~/.bash_profile 添加下列两行代码,之后保存并退出Vi: export M2_HOME=/Users/...
Apache Maven 是一个强大的项目管理和构建工具,主要用于Java项目。它基于项目对象模型(Project Object Model,POM),能够自动化构建过程,包括编译、测试、打包、部署等。Maven通过使用一组预定义的规则和插件,...
而在Unix或Linux系统中,可以通过修改`~/.bashrc`或`~/.bash_profile`文件实现。 Maven的核心功能之一是管理项目依赖。通过指定依赖的groupId、artifactId和version,Maven可以从中央仓库自动下载并管理这些依赖,...
官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装
Maven依赖:【***.jar Maven依赖信息(可用于项目pom.xml).txt】 Gradle依赖:【***.jar Gradle依赖信息(可用于项目build.gradle).txt】 源代码下载地址:【***-sources.jar下载地址(官方地址+国内镜像地址).txt】...