在ANT build.xml中,为什么';在java任务中,我们不能同时使用jar和classpath

在ANT build.xml中,为什么';在java任务中,我们不能同时使用jar和classpath,java,ant,Java,Ant,在ANT build.xml中,为什么我们不能在Java任务中同时使用jar和classpath呢 除非我理解你的问题是错误的,否则你应该能够轻松地做到这一点。我假设您希望在类路径中包含JAR,在另一个文件夹中包含一组JAR 您可以这样做:- <property name="classpath" value="./WEB-INF/lib"/> <property name="dependency" value="./libs"/> <path id = "my-cl

在ANT build.xml中,为什么我们不能在Java任务中同时使用jar和classpath呢

除非我理解你的问题是错误的,否则你应该能够轻松地做到这一点。我假设您希望在类路径中包含JAR,在另一个文件夹中包含一组JAR

您可以这样做:-

<property name="classpath" value="./WEB-INF/lib"/>
<property name="dependency" value="./libs"/>
<path id = "my-classpath">
        <fileset dir = "${classpath}">
                <include name = "**/**.jar"/>
        </fileset>
        <fileset dir = "${dependency}">
                <include name = "**/**.jar"/>
        </fileset>      
</path>

<javac destdir="${build.dir}">
  <src path="${src.dir}"/>
  <classpath refid="my-classpath"/>
</javac>

编辑

正如您还提到的java任务。我认为下面的例子应该是你正在寻找的。如果不是这样,请告诉我

 <path id="project.class.path">  
     <pathelement location="somejar.jar"/>  
     <pathelement path="${java.class.path}/"/>  
     <pathelement path="${additional.dependencies}"/>  
 </path>  
 <java jar="test.jar" classpathref="project.class.path" ... />   

我想您的意思是,当您将
java
任务与
jar
属性一起使用时,它为什么会忽略您的类路径设置。从:

当使用jar属性时,所有的类路径设置都会被忽略

从这个链接:

使用此选项时,JAR文件是所有用户类的源,其他用户类路径设置将被忽略

所以答案很简单,它是这样的,因为它遵循规范


如果这是您的问题,您可以将有问题的jar文件添加到类路径中,然后使用普通的
classname
属性指定要运行的类,或者如果您自己构建jar,则可以在创建清单文件时向清单文件添加
classpath
条目。这些问题和任务可能会有所帮助。

修改问题。我是说java任务。很抱歉造成混淆。@user496949-当然可以。查看我的编辑。如果这回答了您的问题,请告诉我。不明白-您是指jar和类名吗?如果可能的话,你能举个例子说明你会怎么做吗?@user496949-如果有任何一个答案似乎已经回答了你的问题,你能接受吗?