`
随心而行
  • 浏览: 13871 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

使用maven为不同环境打包,应用不同配置文件

阅读更多
使用maven构建工具时,经常需要为不同的环境打不同的war包,如本地环境、开发环境等,各环境的配置不尽相同,下面介绍此功能

1、创建maven项目,首先在src/main/resources分别创建两个环境文件夹local与dev,此两个目录中分别放本地配置与开发环境配置,如log4j.properties,本地为INFO,dev为DEBUG用于区别;

2、编写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.qerooy</groupId>
	<artifactId>mvnprofile</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<packaging>war</packaging>
	
	<profiles>
		<profile>
			<id>local</id><!-- 本地环境 -->
			<activation>
				<activeByDefault>true</activeByDefault><!-- 默认使用该环境配置 -->
			</activation>
			<properties>
				<runtime.env>src/main/resources/local</runtime.env>
			</properties>
		</profile>
		
		<profile>
			<id>dev</id><!-- 开发环境 -->
			<properties>
				<runtime.env>src/main/resources/dev</runtime.env>
			</properties>
		</profile>
		
	</profiles>
	
	<build>
		<finalName>profile</finalName>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-war-plugin</artifactId>
				<version>2.1.1</version>
				<configuration>
					<webResources>
						<resource>
							<directory>${runtime.env}</directory>
							<targetPath>WEB-INF/classes</targetPath>
						</resource>
					</webResources>
					<packagingExcludes><!-- 排除多余配置文件 -->
						WEB-INF/classes/local/**,
						WEB-INF/classes/dev/**
					</packagingExcludes>
				</configuration>
			</plugin>
		</plugins>
		
	</build>
	
</project>


3、如需打本地环境(local)包运行 mvn package便可,打开发环境(dev)包则执行 mvn package -P dev
分享到:
评论

相关推荐

    maven多环境配置打包

    通常,开发者会创建多个Maven配置文件(profiles),每个文件对应一个特定的环境,然后通过filtering功能过滤资源文件中的变量,实现环境间配置的切换。 【标签】:“源码 工具” “源码”标签暗示了讨论可能涉及...

    springboot+maven打包demo【将依赖与配置文件打包到jar包外部】

    2. **配置文件打包到外部**:Spring Boot提供了一个`spring-boot-maven-plugin`,它的`repackage`目标可以用来重新打包应用,将配置文件移出jar包。使用`excludeDevTools`和`includeConfig`属性,我们可以将配置文件...

    maven 过滤文件夹打包

    "maven 过滤文件夹打包"这个主题涉及到的是如何利用Maven的资源过滤功能来实现针对不同运行环境的配置文件打包。下面将详细解释这一过程。 在开发环境中,我们通常会有多种配置文件,比如`application-dev....

    SpringBoot项目使用maven-assembly-plugin根据不同环境打包成tar.gz或者zip

    这个配置会包含项目打包生成的jar文件以及开发环境的配置文件。 然后,我们需要在`pom.xml`中配置`maven-assembly-plugin`,并引用刚刚创建的assembly描述符: ```xml &lt;artifactId&gt;maven-assembly-plugin ...

    SpringBoot项目使用maven配置文件

    SpringBoot项目使用maven配置文件是Java后端开发中的常见实践,它可以帮助开发者高效地管理依赖、构建项目以及执行自动化任务。Maven是Apache软件基金会的一个项目,它提供了一个项目对象模型(Project Object Model...

    maven打包 maven打jar包详细步骤

    本文将详细讲解如何使用Maven来打包一个Java项目,并创建JAR文件。 首先,Maven有三个主要生命周期阶段:`clean`、`default`(也称为`compile`)和`install`。每个阶段包含一系列的阶段(或者称为目标,如`compile`...

    maven+bat打包

    在Maven的POM.xml文件中,我们可以配置各种插件来执行特定的任务,如编译代码、运行测试、打包应用等。 在"maven+bat打包"的场景中,POM.xml文件中会包含一个特定的插件配置,用于执行自定义的批处理脚本。这个脚本...

    Maven 配置文件替换插件,实现不同环境打包不同配置

    当使用Maven的时候,用一个明确定义的项目对象模型来描述项目,然后Maven可以应用横切的逻辑,这些逻辑来自一组共享的(或者自定义的)插件。 Maven 有一个生命周期,当运行 mvn install 的时候被调用。这条命令告诉...

    Maven打包,指定classes路径

    以上就是关于"Maven打包,指定classes路径"的知识点,主要涉及到Maven的资源配置和插件定制。理解并掌握这些配置可以帮助开发者更高效地管理和构建Java Web应用。同时,记得在实际项目中根据实际情况调整`pom.xml`,...

    maven多环境部署pom文件实例

    你可以根据不同的环境值来调整这些属性,然后在配置文件或代码中使用`${env}`来引用。 2. **文件夹方式**:创建不同环境的配置文件夹,如`src/main/resources-dev`、`src/main/resources-test`和`src/main/...

    maven生成可执行exe文件

    虽然`exec-maven-plugin`本身并不直接生成.exe文件,但它可以与另一款名为`launch4j`的工具结合使用,该工具可以将Java应用程序封装为Windows可执行文件。首先,你需要在你的系统上安装`launch4j`,然后在`pom.xml`...

    Maven打包实战.zip

    总结来说,Maven打包实战涵盖了从基本的`pom.xml`配置,到Eclipse中使用Maven插件进行打包,再到处理复杂的打包需求,如生成可执行JAR。通过这个实战教程,你将能够掌握Maven的核心打包技巧,提升项目构建和管理的...

    配置好的maven 3.6.3配置文件以及环境变量设置教程

    "settings.xml"是实际的配置文件,可以对照上述说明进行编辑和修改。请根据自身需求调整源的顺序,以选择最快的下载通道。 总的来说,正确配置Maven和环境变量对于Java开发至关重要。这不仅可以提高项目构建速度,...

    maven 3 jar 运行文件打包

    1. **设置Maven项目结构**:按照Maven的标准目录结构组织源代码,包括`src/main/java`用于放置Java源代码,`src/main/resources`用于存放资源文件,`pom.xml`作为项目配置文件。 2. **编写pom.xml**:在`pom.xml`中...

    maven打包使用yui压缩css和js文件

    在实际项目中,可能还需要结合其他的前端构建工具,如Gulp、Grunt或Webpack,这些工具可以提供更灵活的配置和更丰富的功能,例如自动编译Sass/LESS文件、合并多个文件为一个、图片压缩等。不过,对于简单项目或只...

    使用Maven开发Java Web应用

    本指南将详细介绍如何在Eclipse环境中使用Maven进行Java Web应用的开发。 一、Maven的优势与基本概念 Maven通过项目对象模型(Project Object Model,POM)来管理项目配置,包括依赖、构建过程、插件等。它自动处理...

Global site tag (gtag.js) - Google Analytics