问题1
描述
当从github下载apollo的源码,把com.ydfind.apollo.SimpleApolloConfigDemo放到自己的环境运行时,可能会报错,如下所示:
[apollo-demo][main]2019-07-29 10:51:22,270 WARN [com.ctrip.framework.foundation.internals.provider.DefaultApplicationProvider] apollo-configuration.properties not found from classpath!
[apollo-demo][main]2019-07-29 10:51:22,279 WARN [com.ctrip.framework.foundation.internals.provider.DefaultApplicationProvider] app.id is not available from System Property and apollo-configuration.properties. It is set to null
[apollo-demo][main]2019-07-29 10:51:22,287 INFO [com.ctrip.framework.foundation.internals.provider.DefaultServerProvider] Loading apollo-configuration.properties
[apollo-demo][main]2019-07-29 10:51:22,289 WARN [com.ctrip.framework.foundation.internals.provider.DefaultServerProvider] apollo-configuration.properties not found from classpath!
[apollo-demo][main]2019-07-29 10:51:22,289 INFO [com.ctrip.framework.foundation.internals.provider.DefaultServerProvider] Environment is set to [dev] by JVM system property 'env'.
[apollo-demo][main]2019-07-29 10:51:24,919 WARN [com.ctrip.framework.apollo.util.ConfigUtil] app.id is not set, please make sure it is set in classpath:/META-INF/app.properties, now apollo will only load public namespace configurations!
原因
查看源码,其实根本没读/META-INF/app.properties该文件,一直读的都是apollo.properties。故解决方法有两个:
- 创建apollo-configuration.properties,写入“app.id=100004458”
- 把版本从0.7.2提高到1.4.0
再细看0.7.2和1.4.0版本的源码比较