在一个 ant 构建脚本中,我有一个我们依赖的项目列表。我需要为编译创建一个类路径。
我有:
included.projects=ProjectA, ProjectB
我需要:
included.project.classpath=../ProjectA/bin, ../ProjectB/bin
当前代码:
<echo message="${included.projects}" />
<pathconvert property="included.projects.classpath" dirsep="," >
<map from="" to="../"/>
<path location="${included.projects}"/>
</pathconvert>
<echo message="${included.projects.classpath}" />
<javac srcdir="${src.dir}" destdir="${build.dir}" includeantruntime="false" source="1.6">
<classpath>
<pathelement path="${classpath}" />
<dirset includes="${included.projects.classpath}" />
</classpath>
</javac>
我也尝试过明确声明,但没有奏效:
<path id="modules.classpath">
<fileset dir="../ModuleA/bin" />
<fileset dir="../ModuleB/bin"/>
</path>
<path id="libraries.classpath">
<fileset dir="lib" includes="*.jar"/>
</path>
<javac srcdir="${src.dir}" destdir="${build.dir}" includeantruntime="false" source="1.6">
<classpath refid="libraries.classpath" />
<classpath refid="modules.classpath" />
</javac>
我很好奇,显式声明代码有什么问题,是否可以使用逗号分隔字符串到类路径解决方案来解决。