我正在尝试基于简单的Github repository锻炼Spring Cloud配置服务器。
点击浏览器上的网址 http://localhost:{configServerPort} / {appName} / default 在Linux计算机上显示疑似结果但在Windows计算机上失败。
调试后,我可以使用org.springframework.cloud.config.server.NativeEnvironmentRepository
的方法Environment clean(Environment value)
来追踪问题。
内部for循环匹配两个文件路径(第153行左右)来设置"匹配"标志。
在我的例子中,比较的两个文件路径是: -
C:\Users\SAMBHA~1.JAI\AppData\Local\Temp\config-repo-7240902103378698827\crm.yml
和
C:/Users/SAMBHA~1.JAI/AppData/Local/Temp/config-repo-7240902103378698827/
(Git结账发生在临时文件夹中)
由于前向和反斜杠,startsWith
检查失败,因此在最终的Environment对象中得到的结果不正确。
如何在独立于操作系统的所有机器上运行它?
我的配置: -
@SpringBootApplication
@EnableConfigServer
public class OptoSoftCloudConfigApplication {
/**
* @param args
*/
public static void main(String[] args) {
SpringApplication.run(OptoSoftCloudConfigApplication.class, args);
}
}
bootstrap.yml: -
spring:
application:
name: config-server
---
server:
port: 8989
---
spring:
cloud:
config:
server:
git:
uri: https://github.com/ksambhav/optosoft-cloud-config
使用的Spring Cloud版本:1.0.1.RELEASE