背景:一
项目由不同的分支(如:dev, test, product),每一分支对应的环境变量有差异。需要根据maven打包命令传入不同的参数(如 -Ptest)来实现具体使用哪个分支的配置。
解决方案:
- 在pom.xml配置的
<profiles> </profiles>
中添加<profile> </profile>
|
|
在<properties> </properties>
中配置不同的环境参数(这里是配置文件目录名)。
- 在pom.xml文件中配置build
|
|
在<build></build>
配置中添加上一步的文件目录名,这样使用maven -Ptest 命令打包的时候,会将src/main/conf/test目录下的文件都添加到项目路径下面。
背景: 二
如果只配置了<profiles> </profiles>
,则当前仓库中同一版本只能有一个jar包,这样选择-Ptest或者-Ppro命令就会覆盖jar包,导致客户端调用产生问题(比如:location-local-0.3.3.jar,这个版本可能是test或者pro,客户端如果生产版本调用了test jar包则会产生异常)。
解决方案: 在每一个分支jar包后面带上分支名称,如:location-local-0.3.5-test.jar;这样客户端就可以选择不同分支的jar包。
- 在服务端pom.xml中如下配置:(注意加**的地方与背景一不同)
|
|
这里的classifier
指向jar包后缀的名称。
- 客户端pom.xml引用配置如下:
|
|
通过classifier
可以选择需要引用的jar包。