在蚂蚁中忽略系统环境变量
问题描述:
我在ant的build.xml脚本中设置了这个属性,以便在构建过程中忽略系统类路径,但ant仍然在我的java调用中选取系统类路径,并将它与我在建立脚本。在蚂蚁中忽略系统环境变量
<property name="build.sysclasspath" value="ignore" />
<path id="classpath">
<pathelement path="${buildDir}/classes" />
<fileset dir="${prjdir}">
<include name="lib/*.jar"/>
</fileset>
</path>
<java classname="com.ibm.biginsights.fs.gpfs.LoggingInjector" failonerror="true">
<classpath refid="classpath" />
</java>
如果我取消设置$CLASSPATH
envirmoent变量之前调用蚂蚁一切工作正常。任何想法是什么问题?
答
此属性AFAIK是必须传递给ant的系统属性(使用ant -Dbuild.sysclasspath=ignore
)。但是取消设置CLASSPATH可能很简单。
IMO的主要问题是首先使用CLASSPATH环境变量。我发现最好始终使用-q或-jar选项来使用Java,而不要依赖系统CLASSPATH。只要有两个依赖于系统CLASSPATH的Java程序,这两个程序之间的依赖关系就有可能发生冲突。
'fork = true'为我做了诡计!谢谢。 – multiholle 2012-01-17 23:43:46