有人可以建议我。我有Spring应用程序是独立的并部署为Windows服务(所有这些代码都进入JAR)。我有一个配置连接到sftp网关,它需要私钥,它放在类路径中。因此,从classpath检索privatekey文件的以下配置似乎不起作用。我从其他博客中了解到这个问题是由于jar的classpath中存在的文件引起的。我的代码如下。
`<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,因为它不存在
答案 0 :(得分:1)
privateKey
的实际DefaultSftpSessionFactory
属性为org.springframework.core.io.Resource
。因此,可以从config:http://docs.spring.io/spring/docs/current/spring-framework-reference/html/resources.html
resource location
从这里,您可以将文件放在文件系统中的某个位置,并为该Windows服务使用file://
位置。