3

我在 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 命令添加外部库

4

1 回答 1

5

Unix 环境变量在 ANT 文件中不起作用,需要作为 ANT 属性导入。此外,必须单独指定命令的参数。查看exec 任务 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>
于 2012-06-02T15:43:46.217 回答