当前位置:K88软件开发文章中心编程工具Maven → 文章内容

Apache Maven 构建配置文件

减小字体 增大字体 作者:佚名  来源:网上搜集  发布时间:2019-1-24 10:44:40

由 珍珍阿姨 创建, 最后一次修改 2016-08-12 Maven - 构建配置文件什么是构建配置文件?构建配置文件是一组配置的集合,用来设置或者覆盖 Maven 构建的默认配置。使用构建配置文件,可以为不同的环境定制构建过程,例如 Producation 和 Development 环境。Profile 在 pom.xml 中使用 activeProfiles / profiles 元素指定,并且可以用很多方式触发。Profile 在构建时修改 POM,并且为变量设置不同的目标环境(例如,在开发、测试和产品环境中的数据库服务器路径)。Profile 类型Profile 主要有三种类型。类型在哪里定义Per Project定义在工程 POM 文件 pom.xml 中Per User定义在 Maven 设置 xml 文件中 (%USER_HOME%/.m2/settings.xml)Global定义在 Maven 全局配置 xml 文件中 (%M2_HOME%/conf/settings.xml)Profile 激活Maven 的 Profile 能够通过几种不同的方式激活。显式使用命令控制台输入通过 maven 设置基于环境变量(用户 / 系统变量)操作系统配置(例如,Windows family)现存 / 缺失 文件Profile 激活示例我们假定你的工程目录像下面这样:现在,在 src/main/resources 目录下有三个环境配置文件:文件名称描述env.properties没有配置文件时的默认配置env.test.properties使用测试配置文件时的测试配置env.prod.properties使用产品配置文件时的产品配置显式 Profile 激活在接下来的例子中,我们将 attach maven-antrun-plugin:run 目标添加到测试阶段中。这样可以我们在不同的 Profile 中输出文本信息。我们将使用 pom.xml 来定义不同的 Profile,并在命令控制台中使用 maven 命令激活 Profile。假定,我们在 C:\MVN\project 目录下创建了以下的 pom.xml 文件。<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.companyname.projectgroup</groupId> <artifactId>project</artifactId> <version>1.0</version> <profiles> <profile> <id>test</id> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-antrun-plugin</artifactId> <version>1.1</version> <executions> <execution> <phase>test</phase> <goals> <goal>run</goal> </goals> <configuration> <tasks> <echo>Using env.test.properties</echo> <copy file="src/main/resources/env.test.propertiestofile ="${project.build.outputDirectory}/env.properties"/> </tasks> </configuration> </execution> </executions> </plugin> </plugins> </build> </profile> </profiles></project>现在打开命令控制台,跳转到 pom.xml 所在目录,并执行以下 mvn 命令。使用 -P 选项指定 Profile 的名称。C:\MVN\project>mvn test -PtestMaven 将开始处理并显示 test Profile 的结果。[INFO] Scanning for projects...[INFO] ------------------------------------------------------------------[INFO] Building Unnamed - com.companyname.projectgroup:project:jar:1.0[INFO] task-segment: [test][INFO] ------------------------------------------------------------------[INFO] [resources:resources {execution: default-resources}][WARNING] Using platform encoding (Cp1252 actually) to copy filtered resources,i.e. build is platform dependent![INFO] Copying 3 resources[INFO] [compiler:compile {execution: default-compile}][INFO] Nothing to compile - all classes are up to date[INFO] [resources:testResources {execution: default-testResources}][WARNING] Using platform encoding (Cp1252 actually) to copy filtered resources,i.e. build is platform dependent![INFO] skip non existing resourceDirectory C:\MVN\project\src\test\resources[INFO] [compiler:testCompile {execution: default-testCompile}][INFO] Nothing to compile - all classes are up to date[INFO] [surefire:test {execution: default-test}][INFO] Surefire report directory: C:\MVN\project\target\surefire-reports------------------------------------------------------- T E S T S-------------------------------------------------------There are no tests to run.Results :Tests run: 0, Failures: 0, Errors: 0, Skipped: 0[INFO] [antrun:run {execution: default}][INFO] Executing tasks [echo] Using env.test.properties[INFO] Executed tasks[INFO] ------------------------------------------------------------------[INFO] BUILD SUCCESSFUL[INFO] ------------------------------------------------------------------[INFO] Total time: 1 second[INFO] Finished at: Sun Jul 08 14:55:41 IST 2012[INFO] Final Memory: 8M/64M[INFO] ------------------------------------------------------------------现在我们练习一下,你可以按照下面的步骤做:在 pom.xml 的 profiles 元素中添加另一个 profile 元素(拷贝已有的 profile 元素并粘贴到 profiles 元素结尾)。将此 profile 元素的 id 从 test 修改为 normal。将任务部分修改为 echo env.properties,以及 copy env.properties 到目标目录再次重复以上三个步骤,修改 id 为 prod,修改 task 部分为 env.prod.properties全部就这些了。现在你有了三个构建配置文件(normal / test / prod)。现在打开命令控制台,跳转到 pom.xml 所在目录,并执行下面的 mvn 命令。使用 -P 选项指定 Profile 的名称。C:\MVN\project>mvn test -PnormalC:\MVN\project>mvn test -Ppr

[1] [2]  下一页


Apache Maven 构建配置文件