2011-12-12 56 views
0

我有一個Ant腳本文件,我在其中使用concat任務在屬性文件中定義的指定包中創建Java cource文件。如何使用Ant concat任務動態創建Java文件到某個包中?

例如,我定義包名:

ma.package=com.my.package 

Ant腳本,我稱:

<concat destfile="./${prject.root}/${ma.package}/MyClass.java"> 

然而,MyClass.java在一個子文件夾com.my.package創建的代替文件夾結構com\my\package。如何解決它?

我在Windows XP下使用Eclipse Helios。

回答

1

您可以使用嵌套UnpackageMapperPathConvert將軟件包名稱轉換爲路徑。例如:

<project default="test"> 

    <property name="ma.package" value="com.my.package"/> 

    <target name="test"> 
    <pathconvert property="ma.package.dir"> 
     <path path="${ma.package}"/> 
     <unpackagemapper from="*" to="*"/> 
    </pathconvert> 
    <echo message="ma.package : ${ma.package}"/> 
    <echo message="ma.package.dir : ${ma.package.dir}"/> 
    </target> 

</project> 

輸出是:

<concat destfile="${ma.package.dir}/MyClass.java"> 

Buildfile: C:\tmp\ant\build.xml 

test: 
[echo] ma.package : com.my.package 
[echo] ma.package.dir : C:\tmp\ant\com\my\package 

所以,你可以在你的CONCAT使用轉換屬性值

相關問題