【问题标题】:Prepend to ant classpath instead of append附加到 ant 类路径而不是附加
【发布时间】:2014-07-11 21:59:44
【问题描述】:

以下是用于此问题的示例 ant 文件。

使用 antcall 从“test”调用目标“test1”。现在,当我有一些具有相同完全限定类名的类时,我希望首先加载 test1.jar 中的类,但看起来 test1.jar 已附加到类路径中,因此会选择 test.jar 中的类。

有没有办法重置/清除目标 test1 的类路径或将 test1.jar 添加到类路径以便加载其中的类。

<project name="TestProj" basedir=".">  
  <target name="test">      
    <java inputstring="" fork="true" failonerror="true" dir=".">
      <classpath>
        <fileset dir="C:/bb/" includes="test.jar"/>
      </classpath>      
    </java>
  </presetdef> 
  <antcall target="test1"/>
  </target>

  <target name="test1"> 
    <java inputstring="" fork="true" failonerror="true" dir=".">         
      <classpath>       
        <path location="c:/test1.jar"/>
      </classpath>
      <jvmarg line="-Xms64m -Xmx512m"/>
      <jvmarg line="-Dfile.encoding=UTF-8 -Djava.net.preferIPv4Stack=true"/>
    </java>
  </presetdef>
  </target>
</project>

【问题讨论】:

    标签: java ant classpath


    【解决方案1】:

    尝试以下方法:

      <path id="test.classpath">
        <fileset dir="C:/bb/" includes="test.jar"/>
        <path refid="compile.classpath"/>
      </path>
    
      <path id="test1.classpath">
        <pathelement location="c:/test1.jar"/>
      </path>
    
    <project name="TestProj" basedir=".">  
      <target name="test">      
        <java inputstring="" fork="true" failonerror="true" dir=".">
          <classpath>
            <path refid="test.classpath"/>
          </classpath>      
        </java>
      </presetdef> 
      <antcall target="test1"/>
      </target>
    
      <target name="test1"> 
        <java inputstring="" fork="true" failonerror="true" dir=".">         
          <classpath>       
            <path refid="test1.classpath"/>
          </classpath>
          <jvmarg line="-Xms64m -Xmx512m"/>
          <jvmarg line="-Dfile.encoding=UTF-8 -Djava.net.preferIPv4Stack=true"/>
        </java>
      </presetdef>
      </target>
    

    【讨论】:

      猜你喜欢
      • 2013-09-07
      • 1970-01-01
      • 1970-01-01
      • 2016-10-11
      • 1970-01-01
      • 2014-05-13
      • 1970-01-01
      • 2014-10-20
      • 1970-01-01
      相关资源
      最近更新 更多