gpt4 book ai didi

java - 无法通过 spring 配置从 jar 检索类路径中的私钥 - jar 内的文件对 spring 不可见

转载 作者:太空宇宙 更新时间:2023-11-04 06:29:23 24 4
gpt4 key购买 nike

有人可以建议我吗?我有 Spring 应用程序,它是独立的并部署为 Windows 服务(所有这些代码都放入 JAR 中)。我有一个连接到 sftp 网关的配置,它需要私钥,并且放置在类路径中。因此,下面从类路径检索私钥文件的配置似乎不起作用。我从其他博客了解到这个问题是由于jar的类路径中存在文件造成的。我的代码如下。

`<bean id="sftpSessionFactory"
class="org.springframework.integration.sftp.session.DefaultSftpSessionFactory">
<property name="host" value="${abc.host}" />
<property name="privateKey" value="classpath*:/SRVKeyfile" />
<property name="user" value="${abc.user}" />
<property name="port" value="${abc.port}" />

`我尝试了不同的方法来获取私钥,但似乎没有任何效果,并且它抛出 Filenotfound 异常。错误:引起:java.io.FileNotFoundException:类路径资源 [classpath*:/SRVKeyfile] 无法解析为 URL,因为它不存在

最佳答案

实际上,DefaultSftpSessionFactoryprivateKey属性是org.springframework.core.io.Resource。因此,可以从配置中为该属性指定任何有效的资源位置:http://docs.spring.io/spring/docs/current/spring-framework-reference/html/resources.html

从这里,您可以将文件放置在文件系统中的某个位置,只需使用该 Windows 服务的 file:// 位置即可。

关于java - 无法通过 spring 配置从 jar 检索类路径中的私钥 - jar 内的文件对 spring 不可见,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26350672/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com