В build.xml моего проекта у меня есть свойство определено:Как удалить привязку из абсолютного пути, чтобы получить относительный путь?
<property name="somedir.dir" location="my_project/some_dir"/>
Значение ${somedir.dir}
будет абсолютный путь: /home/myuser/my_project/some_dir
.
Мне нужен только относительный путь ./my_project/some_dir
без ${basedir}
значение /home/myuser
. Как я могу достичь этого с помощью Ant?
До сих пор я нашел решение путем преобразования собственности в пути, а затем использовать «PathConvert», но я не думаю, что это хорошее решение:
<path id="temp.path">
<pathelement location="${somedir.dir}" />
</path>
<pathconvert property="relative.dir" refid="temp.path">
<globmapper from="${basedir}/*" to="./*" />
</pathconvert>
Любые другие (более изящные) предложения ?
Я думаю, вы неправильно поняли мой вопрос. У меня уже есть заданный путь «$ {base.dir}/some_dir», и мне нужно получить относительный путь «./some_dir». – blackicecube
Зачем вам нужно извлекать 'some_dir', когда вы его используете в' $ {somedir.dir} '? – Anonymous
$ {somedir.dir} будет что-то вроде «/ home/blah/mydirectory», и что задает вопрос, как получить от него только «./mydirectory». Поэтому вы не можете просто использовать $ {somedir.dir}. В nant есть множество функций, построенных в виде path :: get-directory-name Но я не могу найти, если они существуют в Ant. Я также нуждаюсь в том, как это сделать. – christophercotton