java - JAR 内的 Apache Camel JSch privateKeyFile

标签 java apache-camel jsch

我正在尝试使用 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/

相关文章:

java - 使用 Java 从远程服务器复制具有特定扩展名的所有文件

java - VirtualBox Sdk Java - 从主机操作系统在 guest 操作系统内执行命令

java - Android 在动态壁纸中播放电影文件

java - 容器无法解析或不是字段

java - Camel 路线可耻地关闭

java - 与 Camel 集成的基于 REST 的服务中的 API 版本管理

java - Camel HTTP 端点 : How to set URL-String to POST Parameter

java - 在 WAS 上找不到 sun.security.util.DerValue

java - android studio 与 Java 编译器错误 : string too large to encode using UTF-8 written instead as 'STRING_TOO_LARGE'

java - JSch SFTP 放入 IBM z/OS 失败 :failed to write file; nested exception is 3: Permission denied