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

Java 无法通过spring配置从jar检索类路径中的私钥-jar中的文件对spring不可见,java,spring-integration,Java,Spring Integration,我有一个独立的Spring应用程序,作为Windows服务部署(所有这些代码都放在JAR中)。我有一个连接到sftp网关的配置文件,它需要私钥,并且放在类路径中。因此,下面从类路径检索privatekey文件的配置似乎不起作用。我从其他博客了解到,这个问题是由于jar的类路径中存在的文件造成的。我的代码如下 `<bean id="sftpSessionFactory" class="org.springframework.integration.sftp.session.DefaultSf

我有一个独立的Spring应用程序,作为Windows服务部署(所有这些代码都放在JAR中)。我有一个连接到sftp网关的配置文件,它需要私钥,并且放在类路径中。因此,下面从类路径检索privatekey文件的配置似乎不起作用。我从其他博客了解到,这个问题是由于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,因为它不存在
DefaultSftpSessionFactory
privateKey
属性是
org.springframework.core.io.resource
。因此,可以从配置中为该属性指定任何有效的
资源位置


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

谢谢您的回复。我的要求已更改,即将私钥文件放入文件系统,您的建议有帮助:)。多谢!。顺便问一下,若在这种情况下,键需要放在类路径中,你们有什么建议吗。在这种情况下,
key
可以位于一个JAR中,也可以位于使用
java-cp C:/…/jardir1/*添加到应用程序类路径的目录中;C:/…/jardir2/*带有主方法的类