将自定义jar添加到ant';在运行一个目标之前,设置一个类路径
我试图在ant实际调用目标之前向其类路径添加更多自定义jar,但它并没有接受我的自定义jar&因此我从ant的taskdef类中得到错误,无法找到类名。有办法处理吗将自定义jar添加到ant';在运行一个目标之前,设置一个类路径,ant,classpath,Ant,Classpath,我试图在ant实际调用目标之前向其类路径添加更多自定义jar,但它并没有接受我的自定义jar&因此我从ant的taskdef类中得到错误,无法找到类名。有办法处理吗 main.ksh #/bin/ksh . . ANT_CLASSPATH=$JDK_HOME/jre/lib/rt.jar ANT_CLASSPATH=$ANT_CLASSPATH:$ANTBUILD_HOME/lib/ant-$ANT_VERSION.jar . . echo $ANT_CLASSPATH export A
main.ksh
#/bin/ksh
.
.
ANT_CLASSPATH=$JDK_HOME/jre/lib/rt.jar
ANT_CLASSPATH=$ANT_CLASSPATH:$ANTBUILD_HOME/lib/ant-$ANT_VERSION.jar
.
.
echo $ANT_CLASSPATH
export ANT_CLASSPATH
.
.
# java call with framed ANT_CLASSPATH to ant target which is part of main build.xml ### This call, I don't want to run without my custom jar in ANT_CLASSPATH ###
我的新ksh文件如下所示,在这里我将新的自定义jar添加到ANT_类路径
sub.ksh
#/bin/ksh
# Adding some more to jars to ANT_CLASSPATH
export ANT_CLASSPATH=../lib/custom/custom-3.0.jar
main.ksh new-build.xml $*
由于最初的想法是不接触main.ksh脚本,所以我们没有仔细查看它。如果必须使用sub.ksh表中的导出值,则必须纠正我的错误 我只需将导出的值附加到第一行:
ANT_CLASSPATH=$ANT_CLASSPATH:$JDK_HOME/jre/lib/rt.jar最好在构建文件中管理ANT类路径:
<path id="runtime.path">
<pathelement location="lib/custom/custom-3.0.jar"/>
..
..
</path>
<path id="build.path">
<pathelement location="lib/custom-anttask-3.0.jar"/>
..
..
</path>
<!-- Use the paths using 'classpathref' attributes on tasks -->
<java .... classpathref="runtime.path"/>
<taskdef .... classpathref="build.path"/>
..
..
..
..
我同意。但我在运行另一个xml文件的一部分的目标时发现了问题&file将taskdef添加到未添加到ant类路径的类中。@user1587504您没有抓住要点。不要使用环境变量管理类路径。这是不灵活和难以实现的。而是在ANT构建中创建路径,并将其用于java和taskdef任务。请参阅更新。