本周学习了本周Apollo配置中心的入门实操,在此之前,先回顾一下客户端获portal配置信息的操作:
1.pom.xml配置依赖项
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>1.7.28</version>
</dependency>
<dependencies>
<dependency>
<groupId>com.ctrip.framework.apollo</groupId>
<artifactId>apollo-client</artifactId>
<version>1.1.0</version>
</dependency>
2.编写代码进行测试
import com.ctrip.framework.apollo.Config;
import com.ctrip.framework.apollo.ConfigService;
public class GetConfigTest {
public static void main(String[] args) throws InterruptedException {
//连接configSer,获取apollo里application的配置config
Config appConfig = ConfigService.getAppConfig();
String someKey = "testString";
while (true) {
Thread.sleep(1000);
//获取配置信息,参数1——配置的key,参数2——默认值
String value = appConfig.getProperty(someKey, null);
//打印配置信息,验证
System.out.println("testString:" + value);
}
}
}
3.添加VM options
1) 打开edit Configurations:
2) 一些版本是没有VM OPTIONS项的,所以需要手动添加,点击Modify options—Add...
3) 在VM options中输入三组参数,每组参数均以-D开头
①指配置Apollo Portal中某个应用的id:-Dapp.id=****
②指明要配置DEV环境: -Denv=***
③指明dev环境的meta:-Ddev_meta=http://localhost:**** 【此端口号填你给portal设置的端口号】
4.确定以上步骤无误后,开始运行结果报异常:
Unabletoloadinstancefortypecom.ctrip.framework.apollo.internals.Config
搜遍全网的解决方法,加载了全部的依赖依旧没办法解决。其中有一篇指出是jdk版本的问题,但当转jdk版本时发现:
5.又出新问题了——无效的源发行版:15
6.接下来以我做成功的步骤示例:
第一步:去修改环境变量,把jdk版本换成1.8
第二步:修改idea里面的jdk配置[文字说明在图片中有]:
edit configurations中修改jdk版本
Project setting中修改jdk版本
修改好以上内容后,在maven的lifecycle中进行clean操作:
再次运行,若还是报错,那就再回到edit configuration查看jdk是否有自动跳回你原来的那个版本了,再重复上一步进行clean,再去运行问题就解决了: