Java ant目标中的编译顺序
下面的Java ant目标中的编译顺序,java,ant,Java,Ant,下面的antcompile目标编译使用标记指定的任何src文件夹中的所有.java文件。我的问题是关于汇编的顺序。ant是否首先编译第一个src标记引用的文件(即它是否首先编译${xtext.project.path}/src中的Java文件),然后编译第二个src标记,等等。?文件的编译顺序是什么?我试图找出文件夹之间的依赖关系,并想知道它们列出的顺序是否告诉了我什么 <target name="compile"> <echo message="${ant.
ant
compile
目标编译使用
标记指定的任何src
文件夹中的所有.java
文件。我的问题是关于汇编的顺序。ant
是否首先编译第一个src
标记引用的文件(即它是否首先编译${xtext.project.path}/src
中的Java文件),然后编译第二个src
标记,等等。?文件的编译顺序是什么?我试图找出文件夹之间的依赖关系,并想知道它们列出的顺序是否告诉了我什么
<target name="compile">
<echo message="${ant.project.name}: ${ant.file}"/>
<deps-load-path conf="core" pathid="core.ivy.classpath" />
<deps-load-path conf="test" pathid="test.ivy.classpath" />
<javac debug="true" includeantruntime="false" debuglevel="source,lines,vars" destdir="${bin.path}" source="1.8" target="1.8">
<src path="${xtext.project.path}/src"/>
<src path="${xtext.project.path}/src-gen"/>
<src path="${project.path}/src"/>
<src path="${project.path}/src-gen-umpletl"/>
<src path="${project.path}/src-gen-umple"/>
<src path="${project.path}/test"/>
<src path="${vendors.path}/jopt-simple/src"/>
<exclude name="**/.git"/>
<exclude name="**/*.ump" />
<exclude name="**/data" />
<classpath refid="project.classpath"/>
<classpath refid="validator.project.classpath"/>
<classpath refid="core.ivy.classpath" />
<classpath refid="test.ivy.classpath" />
<!-- Add compiler arguments here, see https://ant.apache.org/manual/using.html#arg for details, example below
<compilerarg value="-Xlint:deprecation" />
-->
</javac>
<copy todir="${bin.path}" overwrite="true">
<fileset dir="${project.path}/src"><include name="**/*.grammar"/></fileset>
<fileset dir="${project.path}/src"><include name="**/*.error"/></fileset>
</copy>
<delete file="cruise.umple/src/rules.grammar"/>
<delete file="cruise.umple/bin/rules.grammar"/>
</target>
您可以通过使用-verbose
选项运行Ant来查看
是如何编译文件的
例如,下面的Ant脚本
<javac debug="true" includeantruntime="false">
<src path="src1"/>
<src path="src2"/>
</javac>
在上面的示例中,Ant将
元素组合成分号分隔的-sourcepath
参数
-sourcepath
是以下选项之一:
-源路径源路径
指定用于搜索类或接口定义的源代码路径。与用户类路径一样,源路径条目在Oracle Solaris上用冒号(:)分隔,在Windows上用分号分隔,可以是目录、JAR存档或ZIP存档
注意Ant的
任务和Oracle的javac
工具之间的区别。Ant
任务调用Oraclejavac
工具
对于您的问题“文件的编译顺序是什么?”,答案基本上是:Java文件都是同时编译的。我想知道您是否可以回答另一个问题
project.classpath
在文件中的其他位置定义为与${bin.path}
相同的位置,编译后的文件将写入该位置。${bin.path}
如何既是类路径依赖项又是写入.class
文件的位置?我知道,${bin.path}
在每次构建之前都会被删除,因此在运行编译
目标之前,文件夹中没有任何内容。作为编译
目标执行而生成的类
文件是否添加到类路径
?我对此提出了另一个问题: