当前位置: 首页 > 知识库问答 >
问题:

SpringBoot无法从存储库常规位置读取

苍宜修
2023-03-14

在我的保险库和领事整合我有以下秘密引擎enble

[root@user ConsulSetup]# vault secrets list -detailed
Path          Plugin       Accessor              Default TTL    Max TTL    Force No Cache    Replication    Seal Wrap    Options           Description
----          ------       --------              -----------    -------    --------------    -----------    ---------    -------           -----------
cubbyhole/    cubbyhole    cubbyhole_f6352b88    n/a            n/a        false             local          false        map[]             per-token private secret storage
identity/     identity     identity_9ba1824c     system         system     false             replicated     false        map[]             identity store
kv/           kv           kv_864b2492           system         system     false             replicated     false        map[version:2]    n/a
sys/          system       system_0064db30       n/a            n/a        false             replicated     false        map[]             system endpoints used for control, policy and debugging
vault kv put kv/demo/dev spring.datasource.username=demo-user-dev spring.datasource.password=demo-pass-dev
spring:
    cloud:
        # Configuration for a vault server running in dev mode
        vault:
            scheme: http
            host: <HOSTIP>
            port: 8200
            connection-timeout: 5000
            read-timeout: 15000
            authentication: TOKEN
            token: <TOKEN>
            kv.enabled: true
            generic:
                enabled: true
                backend: kv
                profile-separator: '/'

logging:
    level:
        ROOT: WARN
package com.example.demo;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

import javax.annotation.PostConstruct;
import javax.sql.DataSource;
import java.sql.SQLException;

import static org.springframework.util.Assert.isTrue;

@SpringBootApplication
public class DemoApplication {

    @Value("${spring.profiles.active:#{null}}")
    private String profiles;

    @Value("${spring.datasource.username}")
    private String username;

    @Value("${spring.datasource.password}")
    private String password;

    @Value("${other.username}")
    private String other;

    @Autowired
    private DataSource dataSource;

    public static void main(String[] args) {
        SpringApplication.run(DemoApplication.class, args);
    }

    @PostConstruct
    private void postConstruct() throws SQLException {
        System.out.println("##########################");
        System.out.println("profile(s): " + profiles);
        System.out.println("username: " + username);
        System.out.println("password: " + password);
        System.out.println("other: " + other);

        dataSource.getConnection();
        System.out.println("Successfully connected to database");
        System.out.println("##########################");

        isTrue (!username.equals("to-be-overwritten-by-vault-value"), "Username " + username);
        isTrue (!password.equals("to-be-overwritten-by-vault-value"), "Password " + password);
    }

}

以以下错误结束

待覆盖的Vault-Value其他:待覆盖的Vault-Value已成功连接到数据库

在上下文初始化期间-取消刷新尝试:org.springframework.beans.factory.BeanCreationException:创建名为“demo application”的bean时出错:调用init方法失败;嵌套异常为java.lang.IllegalArgumentException:Username to-be-overwriter-by-Vault-Value 2019-05-30 15:31:39.178错误18680----[main]O.S.Boot.SpringApplication
:应用程序启动失败

当我将vault与文件系统集成时,时间路径类似于secret\key,它可以很好地处理这个新的更改,它停止工作。

共有1个答案

商池暝
2023-03-14

但是,这个例外实际上似乎与vault无关。上面写着

java.lang.IllegalArgumentException: Username to-be-overwritten-by-vault-value

是否在属性文件中定义的默认值中有空格?

 类似资料:
  • 我试图安装SpotBugs,但出现了以下错误。 无法读取位于的存储库https://spotbugs.github.io/eclipse/content.xml.JAVAlang.RuntimeException:意外错误:java。安全InvalidAlgorithmParameterException:trustAnchors参数必须为非空 我使用:openjdk版本“10.0.1”2018-

  • 我正试着和git建立联系http://danielmiessler.com/study/git/#website来管理我的网站。 我已经完成了说明中的最后一步:git推送网站master:refs/heads/master 我正在使用win7中的git ming32命令行 这里的一个问题可能是程序正在寻找Bill@***. com。当我通过ssh连接到我的网站时,我有一个不同的用户名(让我们说“a

  • 我正在通过一个对我来说是新的IDE进行一个学校项目:IntelliJ。 为了提交我的项目(通过git),我创建了一个git存储库,添加了正确的remote及其密码,并尝试将我的工作推到主分支(在成功添加/提交所述工作之后)。 一开始我收到以下错误消息: 推送失败:失败,错误:致命:无法从远程存储库读取。 下面是我的文件: 我哪里错了?

  • 我不能在我的服务课上用我的积垢。我可以创建存储库,但当我将其自动连接到我的服务类时,会出现以下错误: com中构造函数的参数0。测验服务testService需要“com”类型的bean。测验存储库。找不到TestRepository“”。 行动: 考虑定义COM类型的bean。测验存储库。配置中的TestRepository。 这对许多人来说似乎是一个大问题。我尝试了各种东西,如@Compone

  • 我与SpringBoot和JPA合作。我收到一个无法完成的错误。 这是我的主要课程: 这是我的班级失败的原因: 这是类: 这是错误消息: 错误创建bean的名称'请求LoggerImpl':注入自动生成的依赖失败; 无法自动关联字段:专用com。存储库。请求logdao.com。记录器。impl。RequestLoggerImpl。请求logdao;嵌套的异常是org。springframewor

  • 当我试图在Windows7的IE11上的EclipseLuna(Eclipse-jee-Luna-SR2-win32[4.4])上从EclipseMarketplace安装tomcat服务器时,出现了以下错误。 无法读取位于的存储库http://tomcatplugin.sf.net/update/content.xml.收到致命警报:握手失败 谁能帮我解决这个问题。 提前谢谢。