Che cosa potrebbe causare il messaggio di errore 'Target ‘1’ non esiste nel progetto ‘xxx’.' in esecuzione della formica su Windows?

StackOverflow https://stackoverflow.com/questions/979272

  •  13-09-2019
  •  | 
  •  

Domanda

Sto usando ant.bat (in 1.7.1 Ant) per costruire l'tutti i target in un file build.xml, in Windows Server 2003. (Ho sostituito "xxx" nel messaggio di errore per il nome del progetto in quel file.)

Si costruisce con successo, ma poi conclude con:

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". 

... e restituisce con un codice di errore diverso da zero.

Ho cercato build.xml senza successo per tutto ciò che potrebbe portare a questo errore. (Non v'è alcun obiettivo "1", ovviamente, non tutte le dipendenze che potrebbero risolvere "1").

Sto sperando che qualcuno là fuori potrebbe ricordare vedendo questo. Non mi aspetto che chiunque di eseguire il debug del codice XML per me, ma una ricerca su Google alzato http://simile.mit.edu/mail/ReadMsg?listId=9&msgId=2735 , che contiene "ho trovato un thread di posta elettronica su questo problema e Riprova. ". Vorrei poter trovare quel filo.

Aggiorna - ecco la riga di comando:

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"'

Speriamo che sia di qualche aiuto.

È stato utile?

Soluzione

Avete obiettivi che dipendono da "1"? Forse a causa di un errore di battitura?

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

Aggiornamento: È spiegato (parafrasato) che il messaggio di errore è stato il risultato della (parziale) della riga di comando

-DGOBUILD_AUTO_COMPONENTS= -DGOBUILD_OFFICIAL_BUILD=1

Anche se c'è uno spazio tra i due definiscono dichiarazioni, è in cura in questo modo:

-DGOBUILD_AUTO_COMPONENTS=-DGOBUILD_OFFICIAL_BUILD=1

perché qualcosa dovrebbe seguire '='. E sembra che il secondo '=' viene trattato come uno spazio bianco, forse perché ANT è confusa. Non mi aspetto che. Il modo corretto di fare ciò che si vuole fare è:

-DGOBUILD_AUTO_COMPONENTS="" -DGOBUILD_OFFICIAL_BUILD=1

In questo modo, qualcosa segue il segno di uguale e ANT non confondersi.

Altri suggerimenti

si potrebbe aggiungere la riga di comando che si sta utilizzando. potrebbe essere che formica d'accordo con te che non v'è alcun obiettivo '1', ma che crede che si sta passando uno in.

Questo intervento mi ha aiutato a risolvere questo errore e ha voluto condividere la mia versione del problema.

  

Target "ascoltatore" non esiste nel progetto "null".

ANT userà un ANT_ARGS variabile d'ambiente se è impostata. Stavo usando l'opzione -listener e impostare questa opzione nel mio envvar di Windows, ANT_ARGS. Quando ho incollato le opzioni nella Env Var:

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

mi mancava il segno 'meno' davanti l'opzione 'ascoltatore'.

Questo è simile al problema di cui sopra, ma era nascosto dal fatto che ho usato il ANT_ARGS envvar.

oca Ya :-) Hai cambiato il progetto di "xxx" nel titolo, ma lasciato come "vireporting" nell'output di errore.

Così il gatto fuori dal sacco. Si può anche rendere la nostra vita più facile e inserisci il XML dato che la nostra capacità di aiutare (il debug psichica) è notevolmente limitata. Se si desidera, sanificare l'XML di postare (meglio di te Sanitized l'originale, si spera).

e il tuo commento ( 'Non v'è alcun obiettivo '1'') ha senso dal momento che è quello di formiche che si sta dicendo. Che cosa potrebbe essere fatto è inavvertitamente creato un dipendenza su quel bersaglio inesistente.

Si scopre questo messaggio di errore è il risultato di "-DGOBUILD_AUTO_COMPONENTS= -DGOBUILD_OFFICIAL_BUILD=1" nella riga di comando. Credo che non avendo nulla dopo il '=' in tale opzione -D confonde Ant. (Come esperimento, ho cambiato "-DGOBUILD_OFFICIAL_BUILD=1" al messaggio di errore cambiato in "-DGOBUILD_OFFICIAL_BUILD=2" "Target "2" does not exist in the project "xxx"." in questa riga di comando di programmazione generati e)

La rimozione "-DGOBUILD_AUTO_COMPONENTS=" eliminato l'errore di generazione.

Se qualcuno può spiegare chiaramente perché Ant emette un messaggio di così strano errore in questo caso (o forse perché non è strano se si guarda in modo corretto), Accetterò la tua risposta.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top