即使在 ant/lib 上使用 jsch,Ant scp 任务也无法正常工作
我需要通过 scp 复制一个 war 文件。
我已将 jsch-0.1.42.jar
添加到 $ANT_HOME/lib
但仍然收到此错误:
原因:班级 org.apache.tools.ant.taskdefs.可选.ssh.Scp 没有找到。 这看起来像是 Ant 的可选组件之一。
这是运行 ant -diagnostics
的结果,以防万一:
I need to copy a war file via scp.
I have added the jsch-0.1.42.jar
to $ANT_HOME/lib
but I'm still getting this error:
Cause: the class
org.apache.tools.ant.taskdefs.optional.ssh.Scp
was not found.
This looks like one of Ant's optional components.
This is the result of running ant -diagnostics
just in case:
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
我有同样的问题并解决了它!
请记住,您需要两者
ant-jsch.jar
(来自ant或java安装的本机)和更新的jsch
(在我的例子中是jsch-0.1.46.jar
) 在 ant lib 目录中。您需要从 http://www.jcraft 加载最新的
jsch.jar
。 com/jsch/ 并添加到 libs 文件夹(但不替换ant-jsch.jar
)。许多开发人员犯的错误:
ant-jsch.jar
已过时(在这种情况下,ant-jsch.jar
和jsch
兼容。ant-jsch.jar
替换为jsch
(我做到了...)ant lib dir 中的
jsch 最后 2 个案例 ant 知道 scp 命令,但说它不可用。
I had the same problem and fixed it!
Remember, you need BOTH
ant-jsch.jar
(native from ant or java installation) and updatedjsch
(in my case it wasjsch-0.1.46.jar
) in ant lib dir.You need to load the newest
jsch.jar
from http://www.jcraft.com/jsch/ and add to libs folder (but not replaceant-jsch.jar
).The mistake a lot of developers do:
ant-jsch.jar
out of date (in this case <scp> task is unknown for ant)ant-jsch.jar
andjsch
are compatible.jsch
not exists or out of date in ant lib dirant-jsch.jar
replaced withjsch
(i did it...)In last 2 cases ant knows scp command, but says it is not available.
从诊断顶部来看,这看起来像是您的问题:
可选任务:不可用
您的 $ANT_HOME/lib 目录缺少 ant-jsch.jar,这是您缺少的类的来源。
我不确定这是怎么发生的 - 我总是从 下载站点 上的 ZIP 文件安装 Ant ,其中包括所有可选任务。如果您从 Linux 软件包安装 Ant,请尝试检查是否有用于可选任务的单独软件包。
安装可选任务后,我将按照 @trashgod 的建议删除旧版本的 jsch.jar。
This looks like your problem, from the top of the diagnostics:
optional tasks : not available
Your $ANT_HOME/lib directory is missing ant-jsch.jar, which is where your missing class comes from.
I'm not sure how this happened - I always install Ant from the ZIP file on the download site, which includes all the optional tasks. If you installed Ant from a Linux package, try checking to see if there is a separate package for the optional tasks.
Once you get the optional tasks installed, I would delete the old version of jsch.jar as @trashgod suggests.
我在 maven pom.xml 中添加了 ant-jsch 和 jsch 依赖项,或者在构建中包含这两个 jar 解决了问题。
I added ant-jsch and jsch dependencies in maven pom.xml or including those two jars in build solved the issue.
执行以下命令:
Execute the following command: