ANT:exec命令

时间:2012-06-02 10:14:02

标签: ant

我在ANT exec命令中有一组环境变量,如下所示,

<exec dir="${basedir}/src/" command="/usr/local/covidien/HDE/x86.linux2.6/bin/idlpp -S -l java ${basedir}/src/HelloWorldData.idl" >         
                <env key="OSPL_HOME" value="/usr/local/covidien/HDE/x86.linux2.6"/>
                <env key="OSPL_TARGET" value="x86.linux2.6"/>
                <env key="PATH" value="$OSPL_HOME/bin:$PATH"/>
                <env key="LD_LIBRARY_PATH" value="$OSPL_HOME/lib:$LD_LIBRARY_PATH"/>
                <env key="CPATH" value="$OSPL_HOME/include:$OSPL_HOME/include/sys:$CPATH"/>
                <env key="OSPL_TMPL_PATH" value="$OSPL_HOME/etc/idlpp"/>
                <env key="OSPL_URI" value="$OSPL_HOME/etc/idlpp"/>
                <env key="CLASSPATH" value="$OSPL_HOME/jar/dcpssaj.jar:$CLASSPATH"/>
                <env key="CLASSPATH" value="$OSPL_HOME/jar/dcpscj.jar:$CLASSPATH"/>
        </exec>

但是在加载共享库时出现错误错误:libddsutil.so:。我有一个包含* .so文件的外部库。我需要用exec命令包含它。如何添加使用exec命令的外部lib

1 个答案:

答案 0 :(得分:5)

Unix环境变量在ANT文件中不起作用,需要作为ANT属性导入。此外,必须单独指定命令的参数。请参阅exec task doco

尝试这样的事情:

<property environment="env"/>

<exec dir="${basedir}/src/" executable="/usr/local/covidien/HDE/x86.linux2.6/bin/idlpp">
        <arg line="-S -l java ${basedir}/src/HelloWorldData.idl" >         
        <env key="OSPL_HOME" value="/usr/local/covidien/HDE/x86.linux2.6"/>
        <env key="OSPL_TARGET" value="x86.linux2.6"/>
        <env key="PATH" value="${env.OSPL_HOME}/bin:${env.PATH}"/>
        <env key="LD_LIBRARY_PATH" value="${env.OSPL_HOME}/lib:${env.LD_LIBRARY_PATH}"/>
        <env key="CPATH" value="${env.OSPL_HOME}/include:${env.OSPL_HOME}/include/sys:${env.CPATH}"/>
        <env key="OSPL_TMPL_PATH" value="${env.OSPL_HOME}/etc/idlpp"/>
        <env key="OSPL_URI" value="${env.OSPL_HOME}/etc/idlpp"/>
        <env key="CLASSPATH" value="${env.OSPL_HOME}/jar/dcpssaj.jar:${env.CLASSPATH}"/>
</exec>