动态修改ant类路径



我想使用依赖于ant类路径的解析器(ssh)。

之类的
<resolvers>
...
<ssh ...
...
</resolvers>

要使用它,我需要在一个类路径中的jsch。Ant脚本应该只依赖于公共库(其中还包括解析的jsch依赖项)-在任何客户端PC上使用它。场景:

  1. 任务下载库
  2. 提取库(jsch等)
  3. 艾薇:配置

但是ivy:configure没有任何classpthref参数,所以我不清楚如何加载我提取的jar。

有可能吗?

或者,可能以某种方式在内部使用扩展类路径再次运行ant ?

所以我对问题的评论看起来对我很好,但最后它不起作用。

我找到的唯一方法(我的意思是工作方式)是使用

运行ant脚本。
  1. 下载common-lib (with),其中包含可选ivy处理所需的所有jar-lib
  2. 构建新的类路径并在相同的构建文件上运行exec:

    <target name="call.task" if="wrapped.task.name">
    <path id="ant.class.path">
        <fileset dir="${tools.lib.dir}" >
            <include name="*.jar" />
        </fileset>
        <pathelement location="${java.class.path}" />
    </path>
    <condition property="append.dest.dir" value="-Ddest.dir=${dest.dir}" else="">
        <isset property="dest.dir"/>
    </condition>
    <exec executable="ant" failonerror="true">
        <arg line="-f ivy-build.xml" />
        <arg line='-lib "${toString:ant.class.path}"' />
        <arg value="${wrapped.task.name}" />
        <arg value="${append.dest.dir}" />
    </exec>
    </target>
    

相关内容

  • 没有找到相关文章