maven可以有几个配置文件(maven多环境配置总结)
由于默认的中央仓库,服务器在国外,下载速度很慢,但我们可以使用阿里的中央仓库,亲测速度超快我们只需在maven根目录下的conf文件夹中的setting.xml文件的mirrors节点,添加内容如下:,我来为大家科普一下关于maven可以有几个配置文件?以下内容希望对你有帮助!
maven可以有几个配置文件
阿里中央仓库由于默认的中央仓库,服务器在国外,下载速度很慢,但我们可以使用阿里的中央仓库,亲测速度超快。我们只需在maven根目录下的conf文件夹中的setting.xml文件的mirrors节点,添加内容如下:
<mirror> <id>alimaven</id> <name>aliyun maven</name> <url>http://maven.aliyun.com/nexus/content/groups/public/</url> <mirrorOf>central</mirrorOf> </mirror>
maven多环境maven借助profile实现多环境,通过不同的环境激活不同的profile来达到构建的可移植性。笔者有两个环境dev、test,项目目录结构:
如上图,在项目根路径新建目录filters/dev、filters/test,并在dev、test分别新建文件config.properties文件;
1、配置config.properties文件
dev下的config.properties:
env=dev
test下的config.properties:
env=test
在src/resources/config新建文件config.properties,内容为:
env=${env}
${}中的名称必须是env不能是env1或者其它。
2、配置resources
<resource> <directory>src/main/resources</directory> <filtering>true</filtering> <includes> <include>**/*.xml</include> <include>**/*.properties</include> </includes> </resource>
通过指定filtering表示includes节点配置的文件都将通过maven的过滤进行变量值的替换。
3、配置filter
<profiles> <profile> <id>dev</id> <activation> <activeByDefault>true</activeByDefault> </activation> <build> <filters> <filter>${basedir}/filters/dev/config.properties</filter> </filters> </build> </profile> <profile> <id>test</id> <build> <filters> <filter>${basedir}/filters/dev/config.properties</filter> </filters> </build> </profile> </profiles>
通过filter,我们可以将不同环境目录下的config.properties文件中的参数值加载到maven中,如果filters中可以添加有多个filter,即可以添加多个properties文件。
4、通过命令进行打包
mvn clean compile -Pdev
通过-P指定打包环境,如果不指定则打包的环境默认是dev
5、扩展
除了filters定义多环境,我们还可以通过节点properties定义不同环境的变量,我们使用如下方法可以定义env:
<profiles> <profile> <id>dev</id> <properties> <env>dev</env> </properties> <activation> <activeByDefault>true</activeByDefault> </activation> </profile> <profile> <id>test</id> <properties> <env>test</env> </properties> </profile> </profiles>
但filters与properties也可以一起使用,定义不同的变量。
如果写的好,请大家点赞、关注、评论。
免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com