使用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配置文件(profiles),每个文件对应一个特定的环境,然后通过filtering功能过滤资源文件中的变量,实现环境间配置的切换。 【标签】:“源码 工具” “源码”标签暗示了讨论可能涉及...
2. **配置文件打包到外部**:Spring Boot提供了一个`spring-boot-maven-plugin`,它的`repackage`目标可以用来重新打包应用,将配置文件移出jar包。使用`excludeDevTools`和`includeConfig`属性,我们可以将配置文件...
"maven 过滤文件夹打包"这个主题涉及到的是如何利用Maven的资源过滤功能来实现针对不同运行环境的配置文件打包。下面将详细解释这一过程。 在开发环境中,我们通常会有多种配置文件,比如`application-dev....
这个配置会包含项目打包生成的jar文件以及开发环境的配置文件。 然后,我们需要在`pom.xml`中配置`maven-assembly-plugin`,并引用刚刚创建的assembly描述符: ```xml <artifactId>maven-assembly-plugin ...
SpringBoot项目使用maven配置文件是Java后端开发中的常见实践,它可以帮助开发者高效地管理依赖、构建项目以及执行自动化任务。Maven是Apache软件基金会的一个项目,它提供了一个项目对象模型(Project Object Model...
本文将详细讲解如何使用Maven来打包一个Java项目,并创建JAR文件。 首先,Maven有三个主要生命周期阶段:`clean`、`default`(也称为`compile`)和`install`。每个阶段包含一系列的阶段(或者称为目标,如`compile`...
在Maven的POM.xml文件中,我们可以配置各种插件来执行特定的任务,如编译代码、运行测试、打包应用等。 在"maven+bat打包"的场景中,POM.xml文件中会包含一个特定的插件配置,用于执行自定义的批处理脚本。这个脚本...
当使用Maven的时候,用一个明确定义的项目对象模型来描述项目,然后Maven可以应用横切的逻辑,这些逻辑来自一组共享的(或者自定义的)插件。 Maven 有一个生命周期,当运行 mvn install 的时候被调用。这条命令告诉...
以上就是关于"Maven打包,指定classes路径"的知识点,主要涉及到Maven的资源配置和插件定制。理解并掌握这些配置可以帮助开发者更高效地管理和构建Java Web应用。同时,记得在实际项目中根据实际情况调整`pom.xml`,...
你可以根据不同的环境值来调整这些属性,然后在配置文件或代码中使用`${env}`来引用。 2. **文件夹方式**:创建不同环境的配置文件夹,如`src/main/resources-dev`、`src/main/resources-test`和`src/main/...
虽然`exec-maven-plugin`本身并不直接生成.exe文件,但它可以与另一款名为`launch4j`的工具结合使用,该工具可以将Java应用程序封装为Windows可执行文件。首先,你需要在你的系统上安装`launch4j`,然后在`pom.xml`...
总结来说,Maven打包实战涵盖了从基本的`pom.xml`配置,到Eclipse中使用Maven插件进行打包,再到处理复杂的打包需求,如生成可执行JAR。通过这个实战教程,你将能够掌握Maven的核心打包技巧,提升项目构建和管理的...
"settings.xml"是实际的配置文件,可以对照上述说明进行编辑和修改。请根据自身需求调整源的顺序,以选择最快的下载通道。 总的来说,正确配置Maven和环境变量对于Java开发至关重要。这不仅可以提高项目构建速度,...
1. **设置Maven项目结构**:按照Maven的标准目录结构组织源代码,包括`src/main/java`用于放置Java源代码,`src/main/resources`用于存放资源文件,`pom.xml`作为项目配置文件。 2. **编写pom.xml**:在`pom.xml`中...
在实际项目中,可能还需要结合其他的前端构建工具,如Gulp、Grunt或Webpack,这些工具可以提供更灵活的配置和更丰富的功能,例如自动编译Sass/LESS文件、合并多个文件为一个、图片压缩等。不过,对于简单项目或只...
本指南将详细介绍如何在Eclipse环境中使用Maven进行Java Web应用的开发。 一、Maven的优势与基本概念 Maven通过项目对象模型(Project Object Model,POM)来管理项目配置,包括依赖、构建过程、插件等。它自动处理...