2010-09-06 4 views
9

Mam problem z konfiguracją narzędzia Ant Builder dla moich projektów Eclipse.Dodawanie bibliotek użytkownika do aplikacji Ant Builder classpath

Mam kilka bibliotek stron trzecich skonfigurowanych jako biblioteki użytkownika w środowisku Eclipse. Te biblioteki są dodawane do ścieżki budowania moich projektów i wszystko działa dobrze.

Moim problemem jest to, że jeśli chcę korzystać z Ant Buildera z Eclipse, będę musiał dodać niektóre biblioteki użytkowników do ścieżki klasy narzędzia Ant Builder, aby działało. Potrzebuję tych Libów, ponieważ zawierają one wiele defektów zadań i defektów typu Ant, a nie SKŁADAJĄ MOJE PROJEKTY. Ale w jaki sposób mogę dodać te biblioteki użytkowników do ścieżki klas programu Ant Builder? Nie chcę "zakodować" ich ręcznie, dodając je ręcznie, ponieważ jeśli będę musiał zmienić jedną z tych bibliotek w przyszłości, będę musiał także zachować wszystkie narzędzia Ant Builders. I nie wiem, jak obciążenie określa ścieżkę do bibliotek użytkowników w środowisku wykonawczym w Ant, aby ładować je dynamicznie, ponieważ potrzebuję tych bibliotek na bootstrapie Anta, aby móc z powodzeniem zdefiniować moje wymagane zadania Ant.

Odpowiedz

10

W takim przypadku możesz dodać pliki JAR (zawierające taskdefs) do środowiska wykonawczego Ant.

Okno -> Preferencje, wybierz "Ant -> Runtime" od lewej. Skoncentruj się na "Global Entries", a następnie użyj przycisku "Add JAR" po prawej, aby dodać pliki JAR.

Dodane pliki JAR zostaną dodane do każdego procesu Ant działającego w środowisku Eclipse.

Twoje następne pytanie brzmi: "Dlaczego muszę dodać pliki JAR? Nie mogę dodać mojej biblioteki użytkownika?". Dobre pytanie, cieszę się, że (prawie zamierzałeś) zapytać. Napędza mnie również i nie mam pojęcia, dlaczego Eclipse nie zapewnia tej funkcjonalności. Być może nadszedł czas, aby otworzyć żądanie funkcji ...

lutego 2014: okazuje się, że już wcześniej zażądano dodania bibliotek użytkownika do ścieżki klasy Ant (https://bugs.eclipse.org/bugs/show_bug.cgi?id=211669). Wygląda na to, że to ja go ponownie otworzyłem ...

1

Nie jestem pewien, czy to ci pomoże, ale lubię używać bluszczu w tej sytuacji. Mam zwyczaj rozszerzenie ant które obejmują ten sposób:

build.xml:

<project name="project" basedir="." default="deploy" xmlns:ivy="antlib:org.apache.ivy.ant" xmlns:myNamespace="antlib:org.company.module"> 
    <property file="build.${user.name}.properties" /> 
    <property file="build.${env.COMPUTERNAME}.properties" /> 
    <property file="build.properties" /> 
    <property file="build-base.properties" /> 

    <taskdef resource="org/apache/ivy/ant/antlib.xml" uri="antlib:org.apache.ivy.ant" /> 

    <!-- Configuration for external ant libs --> 
    <property name="apache.ant.ext.lib" value="${target.root}/antlib" /> 
    <mkdir dir="${apache.ant.ext.lib}" /> 
    <ivy:retrieve inline="true" pattern="${apache.ant.ext.lib}/[artifact]-[revision]-[type].[ext]" 
     conf="master" organisation="org.company" module="module" revision="1.0" /> 
    <path id="apache.ant.ext.lib.classpath"> 
     <fileset dir="${apache.ant.ext.lib}" includes="*.jar" /> 
    </path> 
    <taskdef classpathref="apache.ant.ext.lib.classpath" resource="path/to/antlib.xml" /> 
... 

potem twoi libs zostaną pobrane do swojego tymczasowego mrówka ext lib folderu na mrówki używać podczas jego wykonywania, ale będzie być wykluczone z twojego projektu. Eclipse ma wtyczkę do Ivy (IvyDE) i ta technika znacznie uprościła moje życie.

0

Ręczne dodawanie nowego użytkownika/zewnętrznych słoików jest uciążliwe - masz rację.

Znalazłem, że najlepszym sposobem, aby uniknąć konieczności zrobić to zmienić ANT_HOME z Ant pakiecie z Eclipse do samodzielnego montażu Ant, który może być używany z dowolnym wierszu poleceń IDE, itp

Przejdź do Window > Preferences, a na lewym panelu wybierz Ant > Runtime. Wybierz przycisk Ant Home po prawej stronie okna i wybierz katalog główny instalacji samodzielnej Ant. Eclipse będzie na tyle uprzejmy, aby zaktualizować wpisy Home Ant w głównym okienku, aby użyć tej instalacji. Używam tutaj Eclipse Juno - instrukcje mogą się nieznacznie różnić w przypadku innych wersji.

Teraz wszystkie słoiki upuszczone do biblioteki ANT_HOME/lib będą dostępne z plików build.xml bez konieczności ręcznego dodawania ich do ścieżki klasy.

Chciałbym podziękować Qasimowi Rasheedowi za pokazanie mi tej metody na swoim blogu pod adresem http://www.qasimrasheed.com/post.cfm/eclipse-configure-ant-home. To znacznie lepsze niż ręczne zastępowanie wpisów Ant Home (co powoduje, że musisz aktualizować na tym ekranie za każdym razem, gdy dodawany jest nowy słoik).