我在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
答案 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>