Hvad der kan medføre, at fejlmeddelelsen 'Target' 1 'ikke findes i projektet' xxx '. ' kører Ant på Windows?

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg bruger mb.bat (i Ant 1.7.1) til at opbygge alt mål i en build.xml-fil på Windows 2003 Server. (Jeg har 'erstattet' xxx 'i fejlmeddelelsen til projektnavnet i den fil .)


Det bygger succesfuldt, men slutter med:


2009-06-10 17:26:03 | all:
2009-06-10 17:26:03 | 
2009-06-10 17:26:03 | BUILD FAILED
2009-06-10 17:26:03 | Target "1" does not exist in the project "xxx". 


... og vender tilbage med en fejlkode uden fejl.


Jeg har søgt build.xml uden succes for noget, der kan medføre denne fejl. (Der er ikke noget mål '1' selvfølgelig eller nogen afhængighed, der kan løse '1'.)


Jeg håber nogen derude kan huske at se dette. Jeg forventer ikke, at nogen skal debugge XML for mig, men en Google-søgning blev vist http://simile.mit.edu/mail/ReadMsg?listId=9u0026amp;msgId=2735, som indeholder 'Jeg fandt en email-tråd om dette problem og vilje
prøv igen. '. Jeg ville ønske jeg kunne finde den tråd. [20]


Opdater - her er kommandolinjen:


D:/build/toolchain/noarch/ant-1.7.1/bin/ant.bat all  -DBRANCH\_NAME="main" -DBUILD\_NUMBER="66675" -DCHANGE\_NUMBER="1061789" -DGOBUILD\_AUTO\_COMPONENTS= -DGOBUILD\_OFFICIAL\_BUILD=1 -DGOBUILD\_VICLIB\_ROOT=d:/build/ob/bora-66675/compcache//viclib/ob-65655/windows -DGOBUILD\_VIMBASE\_ROOT=d:/build/ob/bora-66675/compcache//vimbase/ob-64494/windows -DOBJDIR="beta" -DPRODUCT\_BUILD\_NUMBER="82" -DPUBLISH\_DIR="d:/build/ob/bora-66675/publish" -DRELTYPE="beta" -DREMOTE\_COPY\_SCRIPT="D:/build/toolchain/win32/python-2.5/python.exe D:/build/gobuild/script/gobuildc.py bora-66675"'


Forhåbentlig er det lidt hjælp.

Bedste reference


Har du nogle mål, der afhænger af '1'? Måske på grund af en skrivefelt?


<target name="SomeTarget" depends="1">
   ....
</target>


Opdatering: Du forklarede (omskrevet), at fejlmeddelelsen var et resultat af kommandolinjen (delvis)


-DGOBUILD\_AUTO\_COMPONENTS= -DGOBUILD\_OFFICIAL\_BUILD=1


Selv om der er et mellemrum mellem disse to definere udsagn, bliver det behandlet som dette:


-DGOBUILD\_AUTO\_COMPONENTS=-DGOBUILD\_OFFICIAL\_BUILD=1


fordi noget forventes at følge '='. Og det ser ud til, at den anden '=' bliver behandlet som et hvidrum, måske fordi ANT er forvirret. Det ville jeg ikke forvente. Den rigtige måde at gøre, hvad du vil gøre er:


-DGOBUILD\_AUTO\_COMPONENTS="" -DGOBUILD\_OFFICIAL\_BUILD=1


På den måde følger noget ligestillingsskiltet, og ANT bliver ikke forvirret.

Andre referencer 1


Kan du tilføje kommandolinjen, du bruger. Det kan være, at myren er enig med dig i, at der ikke er noget mål '1', men at det tror du passerer en i.

Andre referencer 2


Denne indlæg hjalp mig med at løse denne fejl og ønskede at dele min version af problemet.



  Mål 'lytter' findes ikke i projektet 'null'.



ANT vil bruge en miljøvariabel ANT\_ARGS, hvis den er indstillet. Jeg brugte indstillingen -listener og indstil denne mulighed i min Windows envvar, ANT\_ARGS. Da jeg indsatte indstillingerne i Env Var:


-listener org.apache.tools.ant.listener.Log4jListener -lib D:apache-ant-1.7.1lib


Jeg manglede tegnet 'minus' foran indstillingen 'lytter'.


Dette ligner problemet ovenfor, men var skjult af, at jeg brugte envvar ANT\_ARGS.

Andre referencer 3


Ya gås :-) Du ændrede projektet til 'xxx' i overskriften, men forlod det som 'vireporting' i fejludgangen.


Så katten er ude af posen. Du kan lige så godt gøre vores liv lettere og sende XML, da vores evne til at hjælpe dig (psykisk fejlsøgning) er meget begrænset. Hvis du vil, rydde det XML du sender ind (bedre end du sanitiserede den oprindelige, forhåbentlig).


Og din kommentar ('Der er ikke noget mål' 1 '') giver mening, da det er hvad myren fortæller dig. Hvad du måske har gjort, skaber uforvarende en afhængighed på det ikke-eksisterende mål.

Andre referencer 4


Det viser sig, at denne fejlmeddelelse er resultatet af '-DGOBUILD\_AUTO\_COMPONENTS= -DGOBUILD\_OFFICIAL\_BUILD=1' i kommandolinjen. Jeg tror ikke at have noget efter '=' i den -D-mulighed forvirrer Ant. (Som et forsøg ændrede jeg '-DGOBUILD\_OFFICIAL\_BUILD=1' til '-DGOBUILD\_OFFICIAL\_BUILD=2' i denne programmatisk genererede kommandolinje, og fejlmeddelelsen blev ændret til 'Target "2" does not exist in the project "xxx".')


Fjernelse af '-DGOBUILD\_AUTO\_COMPONENTS=' eliminerede byggesvigt.


Hvis nogen klart kan forklare, hvorfor Ant udsender sådan en mærkelig fejlmeddelelse i dette tilfælde (eller måske hvorfor det ikke er mærkeligt, hvis man ser det korrekt), accepterer jeg dit svar.