发布于 

自动识别项目所属环境标识

项目地址

把项目install 取得jar,执行以下代码手动安装jar

1
mvn install:install-file -Dfile=/Users/edy/Documents/middleware-config-1.0.2.jar -DgroupId=com.yujian.middleware -DartifactId=middleware-config -Dversion=1.0.2 -Dpackaging=jar -DgeneratePom=true

参数解释
mvn install:install-file —— 执行 Maven 的 install-file 目标,用于将 JAR 文件手动安装到本地 Maven 仓库。
-Dfile=/Users/edy/Documents/middleware-config-1.0.2(1).jar
指定 JAR 文件的路径(此处 middleware-config-1.0.2(1).jar 似乎是浏览器下载后自动加了 (1) 的文件名,建议去掉括号以免报错)。
-DgroupId=com.yujian.middleware
指定 groupId(通常是 JAR 依赖所属的组织或公司)。
-DartifactId=middleware-config
指定 artifactId(通常是项目名称)。
-Dversion=1.0.2
指定版本号(这里是 1.0.2)。
-Dpackaging=jar
指定打包类型(这里是 jar)。
-DgeneratePom=true
生成 POM 文件(如果该 JAR 没有 POM 文件,Maven 会自动生成)

项目入口文件改造

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
package com.touchsmail;

import com.yujian.middleware.config.env.MiddlewareEnv;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;

/**
* @author mac
*/
@SpringBootApplication(exclude = DataSourceAutoConfiguration.class,scanBasePackages = "com.touchsmail")
public class MailApplication {

public static void main(String[] args) {

args = new String[] {"--spring.profiles.active=" + MiddlewareEnv.getEnvName().toLowerCase()};

SpringApplication.run(MailApplication.class, args);

}
}

在服务器以下位置标记环境

1
/root/public/environment

示例

1
2
3
4
5
6
root@mail:/home/kevin# cd /root/public/
root@mail:~/public# ls
environment
root@mail:~/public# cat environment
env=PROD
root@mail:~/public#