ant basedir和eclipse .project文件生成

eme*_*ava 6 eclipse ant

我有一个蚂蚁目标回应eclipse .project文件的内容,这里的想法是确保项目可以轻松导入到eclipse中.项目名称应与其结帐的目录匹配.到目前为止我有这个

<target name="eclipse" description="creates an eclipse .project file">
    <echo file=".project">
        <![CDATA[<?xml version="1.0" encoding="UTF-8"?>
        <projectDescription>
            <name>${basedir}</name>
            <comment></comment>
            <projects>
            </projects>
            <buildSpec>
                <buildCommand>
                    <name>org.eclipse.jdt.core.javabuilder</name>
                    <arguments>
                    </arguments>
                </buildCommand>
            </buildSpec>
            <natures>
                <nature>org.eclipse.jdt.core.javanature</nature>
            </natures>
        </projectDescription>
        ]]>
    </echo>    
</target>
Run Code Online (Sandbox Code Playgroud)

问题是$ {basedir}评估完整路径

<name>/home/assure/projects/MyProject</name>
Run Code Online (Sandbox Code Playgroud)

但是eclipse只需要最终的文件夹名称

<name>MyProject</name>
Run Code Online (Sandbox Code Playgroud)

关于蚂蚁目标的任何想法我应该用来剥离这条路径?

Von*_*onC 3

您可以首先根据路径“basename”的最后一个目录定义一个属性。
(参见Antbasename任务

<basename property="project.name" file="${basedir}"/>
Run Code Online (Sandbox Code Playgroud)

这允许您在脚本的其余部分重用该属性

<projectDescription>
    <name>${project.name}</name>
Run Code Online (Sandbox Code Playgroud)