当前位置: 首页 > 面试题库 >

如何以无配置方式将可选任务sshexec加载到Ant中?

洪承天
2023-03-14
问题内容

我正在使用sshexec,它取决于jsch-0.1.48.jar。我不能只是将其放在ant /
lib目录中,因为其他希望使用相同构建脚本的用户必须先在其计算机上进行配置,然后才能进行配置。

我想要做的是能够在项目中引用jsch-0.1.48.jar。目前,我将它放在project / libs目录中,并且正在尝试类似的操作:

<property name="lib" location="lib"/>

<taskdef name="sshexec" classname="org.apache.tools.ant.taskdefs.optional.ssh.SSHExec">
  <classpath>
    <pathelement location="${lib}/jsch-0.1.48.jar"/>  
  </classpath>
</taskdef>

<target name="sshcmd" description="ssh command">    
    <sshexec host="X.X.X.X" username="USER" password="PASS" command="cmd" trust="true"/>
</target>

但这不起作用:

C:\dev\trunk\project:>ant sshcmd
Buildfile: C:\dev\trunk\project\build.xml

BUILD FAILED
C:\dev\trunk\project\build.xml:275: taskdef A class needed by class org.apache.tools.ant.taskdefs.optional.ssh.SSHExec cannot be found: com/jcraft/jsch/Logger
using the classloader AntClassLoader[C:\dev\trunk\project\lib\jsch-0.1.48.jar]

Total time: 0 seconds

问题答案:

jsch
jar与我的项目打包在一起。因此,我没有下载它,而是将其复制到ant库中。该构建将在首次运行时失败,这对我来说很好。它会第二次成功,因为jar将在库中并在启动时加载。

<target name="jschset" description="Set the jar">   
    <copy file="${lib}/jsch-0.1.48.jar" tofile="${ant.home}/lib/jsch-0.1.48.jar"/>
</target>


 类似资料:
  • 问题内容: 我将服务器上的PHP脚本生成的json对象生成,然后使用图像的延迟加载将其解析为listview。问题在于json加载速度会相对较快,或者会挂起一两秒钟,具体取决于服务器上的响应,这可能令人沮丧。当我第一次打开应用程序时,挂起尤其令人讨厌,因为它会挂在黑屏上,直到对象被加载为止,然后当我在应用程序中更新列表时,它具有相同的功能,但至少已加载了视图。这是我获取json的代码: 适配器代码

  • 我在部署一个使用部署系统注入的SPI实现的Quarkus应用程序时遇到了一个问题。 感兴趣的事情: null

  • 问题内容: 我知道有一个reloadDefaultConfiguration()jmx操作,但是没有获取MBean实例并调用此操作,是否有一个Logback api重新加载默认配置(可以选择指定日志配置文件路径)? 问题答案: 这是以下代码的源代码: 只在需要的地方运行此代码呢? 唯一的问题是变量。您可以使用以下方法获取它: 不幸的是,似乎没有完善的API可以做到这一点,那么引发问题呢?您是否还知

  • 我使用FOP-2.1从xml和xsl-fo生成PDF文件,并花了很多时间来配置fop配置文件(我使用西里尔字体),根据https://xmlgraphics.apache.org/fop/2.1/configuration.html 在命令行中测试了它,它工作正常: fop-c conf.xml-xml xml.xsl xsl-pdfpdf 接下来,我需要在javaweb应用程序中执行同样的操作。

  • 问题内容: 我正在Ant中配置JUnit,以便将在每个构建上运行单元测试。我希望每次运行时都将 失败 测试的输出打印在Ant控制台输出中。我不需要从后续测试中看到任何输出。 这是我文件的相关位: 这几乎产生了我想要的结果,但失败的测试在Ant输出中进行了详细说明,除了成功的测试还会写出以下输出: 我相信我已经尝试了JUnit任务文档中列出的所有组合,包括: 属性 属性 各种元素 我的用例是从命令行

  • 问题内容: 我想以编程方式从应用程序中加载Log4j2 XML配置文件。 试过这个: 还有这个: 但是什么都没有。 问题答案: 自己找到答案。有人可能会觉得有用。