Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/338.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java ant中mvn构建类路径的等价性_Java_Maven_Ant_Classpath - Fatal编程技术网

Java ant中mvn构建类路径的等价性

Java ant中mvn构建类路径的等价性,java,maven,ant,classpath,Java,Maven,Ant,Classpath,我是Maven和Ant项目的初学者。我在一些Ant任务上遇到了麻烦。我不知道如何在Ant中构建依赖项的类路径;虽然可以通过以下方式在maven项目中实现: mvn dependency:build-classpath 如何在Ant中执行上述任务?您可以在build.xml中使用classpath标记指定它,您可以参考下面的示例 <target name="compile" depends="init" description="compile the source ">

我是Maven和Ant项目的初学者。我在一些Ant任务上遇到了麻烦。我不知道如何在Ant中构建依赖项的类路径;虽然可以通过以下方式在maven项目中实现:

mvn dependency:build-classpath

如何在Ant中执行上述任务?

您可以在build.xml中使用classpath标记指定它,您可以参考下面的示例

<target name="compile" depends="init" description="compile the source ">
     <!--  Compile the java code from ${src} into ${build}  -->
     <javac srcdir="${src}" destdir="${build}/classes" includeantruntime="false">
         <classpath>
             <fileset dir="${hadoop.home}/">
                 <include name="**/*.jar"/>
             </fileset>
             <fileset dir="${hadoop.home}">
                 <include name="hadoop-common-*.jar"/>
             </fileset>
         </classpath>
     </javac>
 </target>

您可以在build.xml中使用classpath标记指定它。您可以参考下面的示例

<target name="compile" depends="init" description="compile the source ">
     <!--  Compile the java code from ${src} into ${build}  -->
     <javac srcdir="${src}" destdir="${build}/classes" includeantruntime="false">
         <classpath>
             <fileset dir="${hadoop.home}/">
                 <include name="**/*.jar"/>
             </fileset>
             <fileset dir="${hadoop.home}">
                 <include name="hadoop-common-*.jar"/>
             </fileset>
         </classpath>
     </javac>
 </target>

Ant更像是一种命令式编程语言。
build.xml
中的元信息量不如
pom.xml
中的元信息量。最简单的方法是向ant“compile”目标添加一些代码,在编译时将类路径写入文件


您还可以将类路径外部化到一个单独的
libraries.xml
文件中(这是在我们公司使用Ant时完成的),这样可以更轻松地编辑和读取数据。您甚至可以为此编写另一个ant目标。

ant更像是一种命令式编程语言。
build.xml
中的元信息量不如
pom.xml
中的元信息量。最简单的方法是向ant“compile”目标添加一些代码,在编译时将类路径写入文件


您还可以将类路径外部化到一个单独的
libraries.xml
文件中(这是在我们公司使用Ant时完成的),这样可以更轻松地编辑和读取数据。您甚至可以为此编写另一个ant目标。

谢谢。但是我如何从我的build.xml中生成这些类路径目录的完整路径并将它们放入txt文件中?@alivara您可以提供绝对路径,对于fileset dir,我使用了一个变量来替代它,您可以提供完整路径。谢谢您的帮助。我还有一个问题;假设我们有一个build.xml文件,其中包含这些依赖类路径,那么ant中是否有任何任务或命令可以从我的build.xml文件中获取这些类路径?@alivara如果您的目标是构建jar,请运行ant build,或者,如果您想读取xml文件,请使用Java中的一些xml解析器,例如saxparser,并从build.xml中获取class path标记的值。谢谢。但是,如何从build.xml中生成这些类路径目录的完整路径并将其放入txt文件中?@alivara您可以提供绝对路径,对于fileset dir,我使用了一个变量来替换它,相反,您可以提供完整的路径。感谢您的帮助。我还有一个问题;假设我们有一个build.xml文件,其中包含这些依赖类路径,那么ant中是否有任何任务或命令可以从我的build.xml文件中获取这些类路径?@alivara如果您的目标是构建jar,请运行ant build,或者,如果您想读取xml文件,请使用Java中的一些xml解析器,如saxparser,并从build.xml获取类路径标记的值。