ant中使用java task,classpathref不起作用

ant应用代码:

                <targetname="xjc">
               
  <javadir="${j3rdparty.extern.dir}"jar="${j3rdparty.extern.dir}\jaxb-xjc-annox.jar"classpathref="annox.path" failοnerrοr="true"fork="true">
                        <!--
                       
<argvalue="-cp" />
                        <argvalue="${j3rdparty.extern.dir}\jaxb2-basics-annotate-0.6.3.jar;${j3rdparty.extern.dir}\annox-0.5.1.jar;${j3rdparty.extern.dir}\jaxb2-basics-tools-0.6.3.jar;${j3rdparty.extern.dir}/commons-logging-1.1.1.jar;${j3rdparty.extern.dir}/commons-lang-2.4.jar;${bin.dir}"/>
                        -->

                               
<argvalue="-extension" />
                                <argvalue="-Xannotate" />
                                <argvalue="-d" />
                                <argvalue="${src.dir}" />
                                <argvalue="-p" />
                                <argvalue="tellabs.inmfwk.tool.snod.xsd.snodmodule" />
                                <argvalue="${schema.dir}/snodmodule.xsd" />
                                </java>
                </target>

<java>这个task中,使用了classpathref jar 2attribute,但是无论怎么测试,都不能识别classpathref的新东西,没办法,试试下面的代码,竟然OK

                <targetname="xjc">
               
  <javadir="${j3rdparty.extern.dir}"jar="${j3rdparty.extern.dir}\jaxb-xjc-annox.jar"failοnerrοr="true" fork="true">
                        <argvalue="-cp" />
                       
<argvalue="${j3rdparty.extern.dir}\jaxb2-basics-annotate-0.6.3.jar;${j3rdparty.extern.dir}\annox-0.5.1.jar;${j3rdparty.extern.dir}\jaxb2-basics-tools-0.6.3.jar;${j3rdparty.extern.dir}/commons-logging-1.1.1.jar;${j3rdparty.extern.dir}/commons-lang-2.4.jar;${bin.dir}"/>

                               
<argvalue="-extension" />
                                <argvalue="-Xannotate" />
                                <argvalue="-d" />
                                <argvalue="${src.dir}" />
                                <argvalue="-p" />
                                <argvalue="tellabs.inmfwk.tool.snod.xsd.snodmodule" />
                                <argvalue="${schema.dir}/snodmodule.xsd" />
                                </java>
                </target>

这次没使用classpathref,而是在参数中增加了-cp,就可以了。

查原因。

ant源代码,1.8.4版本中,java.java中,明确写着:

       if (getCommandLine().getClasspath() != null
            &&getCommandLine().getJar() != null) {
            log("
When using'jar' attribute classpath-settings are ignored. "
                + "See themanual for more information.", Project.MSG_VERBOSE);
        }

 

至此,问题解决。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值