2013-05-16 11 views
6

pracuję nad pewnym projektem przy użyciu Apache Ant i mój układ projektu jest następujący:bazowego katalogu problem w kodzie Ant

project/build.xml 
project/properties/build.properties 
project/tool/antcontrib.jar 

Tutaj, gdy uruchamiam ant polecenie to działa dobrze i mój katalog bazowy jest basedir =” . "

Teraz chcę mój układ projekt jest następująca:

project/folder/build.xml 
project/properties/build.properties 
project/tool/antcontrib.jar 

Teraz zmieniłem katalog bazowy do basedir = „..”. Myślałem, że to może działać. , ale wciąż nie działa. Więc nie wiem, co musimy ustawić dla naszego bazowania na "../" Oto blok kodu związany z taskdef zdefiniowany w moim pliku build.xml.

<taskdef resource="net/sf/antcontrib/antlib.xml"> 
     <classpath> 
      <pathelement location="${tool.ant.contrib}"/> 
     </classpath> 
    </taskdef> 

UWAGA: Wiedziałem, że plik build.xml i plik właściwości powinny znajdować się w tym samym folderze, co jego standardowa praktyka. Ale nie chcę tego przestrzegać ... może ktoś mi tu pomoże ...

+0

Czy dostajesz komunikat o błędzie z konkretnym zadaniem? Jeśli tak, możesz opublikować tę część pliku kompilacji? –

+0

Jestem pewien, że jeśli ścieżka path jest ustawiona poprawnie, wszystko będzie działać poprawnie. Ale chodzi o to, że ... nie działa w basedir. Czy wiesz, czy używam .. zamiast ../ czy to prawda! –

+2

Co masz na myśli mówiąc "to nie działa dla mnie", jaki jest błąd? Jak wywołujesz mrówkę z jakiego katalogu roboczego? –

Odpowiedz

1

Aby działać, właściwość tool.ant.contrib powinna być ścieżką względną, a nie bezwzględną.

Na przykład, ten kawałek z kompilacji działa:

<project basedir=".."> 
    <property name="tool.ant.contrib" location="tool/antcontrib.jar" /> 
    <taskdef resource="net/sf/antcontrib/antlib.xml"> 
     <classpath> 
      <pathelement location="${tool.ant.contrib}"/> 
     </classpath> 
    </taskdef> 
    <if><isset property="tool.ant.contrib" /> 
     <then><echo message="OK" /></then> 
    </if> 
</project> 
+0

Moja lokalizacja zawiera już względną ścieżkę, a nie bezwzględną wartość par dla tool.ant.contrib w lokalizacji atrybutu –

+0

Jak zadeklarowano w innych komentarzach, brakuje czegoś do rozwiązania zagadki. Podziel się swoim błędem i sposobem ustawiania tej właściwości 'tool.ant.contrib ". –

Powiązane problemy