`

maven-profile

阅读更多
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
0
2
分享到:
评论

相关推荐

    maven-profile-2.0.6.jar

    maven-profile-2.0.6.jar!!!

    maven-profile-2.0.jar

    maven项目转换为eclipse项目,可能缺少的包。

    maven-profile-2.1.0.jar

    maven-profile-2.1.0.jar

    maven-profile-2.0.2.jar

    maven-profile-2.0.2.jar

    maven-profile-2.0.1.jar

    maven-profile-2.0.1.jar

    apache-maven-3.5.4-bin.tar.gz

    Apache Maven 是一个强大的Java项目管理工具,它基于项目对象模型(Project Object Model,POM)的概念,能够自动化构建、依赖管理和项目信息管理。Maven 3.5.4是Maven的一个稳定版本,包含了多项改进和修复,为...

    apache-maven-3.6.2-bin.tar.gz

    例如,在Unix/Linux系统中,可以在`.bashrc`或`.bash_profile`文件中添加如下行: ```bash export M2_HOME=/path/to/apache-maven-3.6.2 export PATH=$M2_HOME/bin:$PATH ``` 在Windows系统中,需要在系统属性的...

    apache-maven-3.6.1-bin

    9. ** profiles**:Maven的profile功能允许根据不同的环境或条件选择不同的构建配置。 10. **命令行接口(CLI)**:用户可以通过命令行工具`mvn`执行Maven的各种操作,如`mvn clean install`来清理项目、编译源码并...

    apache-maven-3.6.3-bin.tar.gz

    Apache Maven 是一个强大的项目管理和构建工具,主要用于Java应用程序的开发。在给定的"apache-maven-3.6.3-bin.tar.gz"压缩包中,包含的是Maven 3.6.3版本的Linux二进制发行版。这个版本是为在Linux操作系统环境下...

    Apache-maven-3.9.6-bin.tar.gz maven 3.9.6版本安装包

    Apache Maven 是一个强大的项目管理和构建工具,主要用于Java应用程序的开发。它基于项目对象模型(Project Object Model,POM)的概念,能够自动化构建过程,管理依赖关系,并提供了统一的构建过程,使得开发人员的...

    apache-maven-3.3.3-src.zip

    此外,Maven可以通过设置不同的profile来适应不同的环境,如开发、测试和生产环境。 在Tika项目中,它是Apache的一个开源内容检测和解析库,广泛应用于文本提取、元数据获取和格式识别。Tika的构建依赖于Maven,...

    apache-maven-3.9.6版本安装包

    3. **配置环境变量**:为了让系统能够找到Maven,你需要编辑`~/.bash_profile`或`~/.zshrc`文件(取决于你的Shell),添加以下行来设置`M2_HOME`和`PATH`: ``` export M2_HOME=/path/to/your/apache-maven-3.9.6 ...

    maven-3.2.5工具下载

    6. **构建配置**:Maven提供了一套灵活的构建配置选项,比如可以通过设置属性值、条件语句、profile来适应不同环境的构建需求。 7. **站点生成**:Maven还可以生成项目文档站点,包括API文档、报告和项目信息,方便...

    Mac的maven安装包apache-maven-3.6.3.zip

    在IT行业中,Maven是一个非常重要的工具,尤其对于Java开发者来说,它是项目管理和构建的首选。本篇将详细讲解如何在Mac系统上,特别是配备M1芯片的MacBook上安装Apache Maven 3.6.3。 Apache Maven是一个基于项目...

    Mac开发环境搭建之 apache-maven-3.5.3 MacOS版 免安装直接使用

    下载 Maven, 并解压到某个目录。例如/Users/robbie/apache-maven-3.3.3 打开Terminal,输入以下命令,设置Maven classpath $ vi ~/.bash_profile 添加下列两行代码,之后保存并退出Vi: export M2_HOME=/Users/...

    apache-maven-3.9.6版本-内含安装说明-用于Mac系统

    Apache Maven 是一个强大的项目管理和构建工具,主要用于Java项目。它基于项目对象模型(Project Object Model,POM),能够自动化构建过程,包括编译、测试、打包、部署等。Maven通过使用一组预定义的规则和插件,...

    apache-maven-3.3.9-bin.zip

    而在Unix或Linux系统中,可以通过修改`~/.bashrc`或`~/.bash_profile`文件实现。 Maven的核心功能之一是管理项目依赖。通过指定依赖的groupId、artifactId和version,Maven可以从中央仓库自动下载并管理这些依赖,...

    rh-maven35-maven-profile-2.2.1-55.2.el7.noarch.rpm

    官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装

    maven-profile-2.0.9.jar中文-英文对照文档.zip

    Maven依赖:【***.jar Maven依赖信息(可用于项目pom.xml).txt】 Gradle依赖:【***.jar Gradle依赖信息(可用于项目build.gradle).txt】 源代码下载地址:【***-sources.jar下载地址(官方地址+国内镜像地址).txt】...

Global site tag (gtag.js) - Google Analytics