我正在尝试使用 Apache Camel JSch 使用 scp 将文件上传到远程服务器。
from("direct:report")
.to("scp://"+host+"/"+remotePath
+"?username="+user
+"&privateKeyFile="+privateKeyFile
+"&strictHostKeyChecking=no");
当我将 privateKeyFile 保留在我的文件系统上并提供路径时,此代码可以正常工作。但是当我将 privateKeyFile 放入最终的可执行 JAR 中时,我应该给出什么路径?
最佳答案
好吧,这可能是不可能的,因为 privateKeyFile 是由 JCraft JSCH 库加载的,而不是由 Apache Camel 加载的。因此 JCraft 可能只支持从文件系统加载。
查看源代码,JCraft 似乎不支持以其他方式加载文件。然而,我们也许能够通过 Camel 加载文件并以 byte[] 形式提供内容,看来 JCraft 有一个我们可以利用的 API。
我已在 Apache Camel 上记录了一张票证:https://issues.apache.org/jira/browse/CAMEL-11738
关于java - JAR 内的 Apache Camel JSch privateKeyFile,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46001487/