Lo que podría causar el mensaje de error 'objetivo ‘1’ no existe en el proyecto ‘xxx’.' corriendo hormiga en Windows?

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

  •  13-09-2019
  •  | 
  •  

Pregunta

Estoy usando ant.bat (en 1.7.1 Ant) para construir el objetivo en todo un archivo build.xml, en Windows Server 2003. (He sustituido "xxx" en el mensaje de error para el nombre del proyecto en ese archivo.)

Se construye con éxito, pero luego termina 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". 

... y devuelve un código de error distinto de cero.

He buscado build.xml sin éxito para cualquier cosa que pueda dar lugar a este error. (No existe un objetivo "1", por supuesto, ni ninguna dependencia que podrían resolver "1".)

Estoy esperando que alguien por ahí podría recordar haber visto esto. No espero a nadie a depurar el código XML para mí, pero una búsqueda en Google nos salió http://simile.mit.edu/mail/ReadMsg?listId=9&msgId=2735 , que contiene "he encontrado un hilo de correo electrónico en este problema y se inténtelo de nuevo. ". Me gustaría poder encontrar ese hilo.

Actualizar - aquí está la línea de comandos:

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

Esperemos que sea de alguna ayuda.

¿Fue útil?

Solución

¿Tiene alguna objetivos que dependen de "1"? Tal vez debido a un error tipográfico?

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

Actualización: Se explicó (parafraseado) que el mensaje de error fue el resultado de la línea de comandos (parcial)

-DGOBUILD_AUTO_COMPONENTS= -DGOBUILD_OFFICIAL_BUILD=1

A pesar de que hay un espacio entre los dos estados definen, está siendo tratada de esta manera:

-DGOBUILD_AUTO_COMPONENTS=-DGOBUILD_OFFICIAL_BUILD=1

ya algo se espera que siga '='. Y parece que el segundo '=' está siendo tratado como un espacio en blanco, tal vez porque ANT es confusa. Yo no esperaría eso. La forma correcta de hacer lo que quieres hacer es:

-DGOBUILD_AUTO_COMPONENTS="" -DGOBUILD_OFFICIAL_BUILD=1

De este modo, algo sigue el signo de igualdad y ANT no se confundan.

Otros consejos

¿Es posible añadir la línea de comandos que está utilizando. podría ser que la hormiga está de acuerdo con usted en que no hay un objetivo '1', pero que cree que está de paso en uno.

Esta publicación me ayudó a resolver este error y quería compartir mi versión del problema.

  

Objetivo "escucha" no existe en el proyecto "nulo".

ANT utilizará un ANT_ARGS variable de entorno si se establece. Yo estaba usando la opción -listener y establecer esta opción en mi varentorno de Windows, ANT_ARGS. Cuando Pegué las opciones en el Env Var:

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

Me faltaba el signo 'menos' frente a la opción 'escucha'.

Esto es similar al problema anterior, pero estaba oculto por el hecho de que he utilizado la ANT_ARGS varentorno.

Ya ganso :-) Ha cambiado el proyecto para "xxx" en el título, pero lo dejó como "vireporting" en la salida de error.

Así que el gato está fuera de la bolsa. Usted puede también hacer nuestra vida más fácil y registrar el XML ya que nuestra capacidad para ayudar a usted (depuración psíquica) es muy limitada. Si lo desea, desinfectar el XML que publique (mejor de lo que higienizado el original, es de esperar).

Y tu comentario ( 'No hay un objetivo '1'') tiene sentido ya que eso es lo que la hormiga le está diciendo. Lo que puede haber hecho inadvertidamente se crea un dependencia en ese destino inexistente.

Resulta que este mensaje de error es el resultado de "-DGOBUILD_AUTO_COMPONENTS= -DGOBUILD_OFFICIAL_BUILD=1" en la línea de comandos. Supongo que tener nada después de la '=' en esa opción -D confunde Ant. (Como un experimento, he cambiado "-DGOBUILD_OFFICIAL_BUILD=1" a "-DGOBUILD_OFFICIAL_BUILD=2" en esta línea de comandos generado mediante programación y el mensaje de error cambiado a "Target "2" does not exist in the project "xxx".")

Extracción "-DGOBUILD_AUTO_COMPONENTS=" elimina el fracaso de construcción.

Si alguien puede explicar claramente ¿Por qué Ant emite un mensaje tan extraño error en este caso (o tal vez por eso no es extraño si uno lo mira correctamente), aceptaré su respuesta.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top