エラーメッセージ「ターゲット「1」がプロジェクト「xxx」には存在しません。」窓でアリを走らせますか?
質問
Windows 2003 Server 上で、ant.bat (Ant 1.7.1) を使用して、build.xml ファイル内のすべてのターゲットをビルドしています。(エラー メッセージの「xxx」は、そのファイルのプロジェクト名に置き換えました。)
ビルドは成功しますが、次のように終了します。
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".
...ゼロ以外のエラー コードが返されます。
build.xml でこのエラーの原因となる可能性のあるものを検索しましたが、失敗しました。(もちろん、ターゲット「1」はなく、「1」を解決する可能性のある依存関係もありません。)
誰かがこれを見たことを覚えているかもしれないと願っています。XML をデバッグしてくれる人はいないと思いますが、Google 検索でヒットしました。 http://simile.mit.edu/mail/ReadMsg?listId=9&msgId=2735, 、「この問題に電子メールスレッドを見つけて再試行します。」そのスレッドを見つけることができればいいのですが。
アップデート - コマンドラインは次のとおりです。
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"'
少しでもお役に立てば幸いです。
解決
"に依存するターゲットはありますか?1
「?おそらくタイプミスのせいでしょうか?
<target name="SomeTarget" depends="1">
....
</target>
アップデート:エラーメッセージは(部分的な)コマンドラインの結果であると説明(言い換え)しました。
-DGOBUILD_AUTO_COMPONENTS= -DGOBUILD_OFFICIAL_BUILD=1
これら 2 つの定義ステートメントの間にはスペースがありますが、次のように処理されます。
-DGOBUILD_AUTO_COMPONENTS=-DGOBUILD_OFFICIAL_BUILD=1
なぜなら 何か 続くと予想される '='
. 。そしてどうやら2番目は、 '='
おそらく ANT が混乱しているため、空白として扱われます。そんなことは期待していないでしょう。あなたがやりたいことを行うための正しい方法は次のとおりです。
-DGOBUILD_AUTO_COMPONENTS="" -DGOBUILD_OFFICIAL_BUILD=1
そうすれば、 何か 等号の後に続くので、ANT は混乱しません。
他のヒント
使用しているコマンドラインを追加していただけますか。もしかしたら、ant はターゲット '1' が存在しないという点では同意しているものの、ターゲット '1' が渡されていると信じている可能性があります。
この投稿はこのエラーを解決するのに役立ち、問題の私のバージョンを共有したいと思いました。
対象の「リスナー」がプロジェクト「null」に存在しません。
ANT は環境変数を使用します ANT_ARGS
設定されている場合。私が使っていたのは、 -listener
オプションを選択し、このオプションを Windows 環境変数に設定します。 ANT_ARGS
. 。オプションを環境変数に貼り付けると、次のようになります。
-listener org.apache.tools.ant.listener.Log4jListener -lib D:\apache-ant-1.7.1\lib
「リスナー」オプションの前に「マイナス」記号がありませんでした。
これは上記の問題と似ていますが、envvar を使用したという事実によって隠蔽されました。 ANT_ARGS
.
ヤガチョウ :-) プロジェクトの見出しを「xxx」に変更しましたが、エラー出力では「vireporting」のままにしました。
それで猫が袋から出てきました。私たちがあなたを助ける能力 (精神的なデバッグ) は非常に限られているため、XML を投稿して作業を楽にしてください。必要に応じて、投稿する XML をサニタイズします (元の XML をサニタイズするよりも効果的であることが望ましい)。
そして、あなたのコメント(「ターゲット「1」はありません」)は、antがあなたに伝えていることなので、意味があります。あなたがやったことは、誤って作成された可能性があります 依存 その存在しないターゲットについて。
このエラー メッセージは「」の結果であることが判明しました。-DGOBUILD_AUTO_COMPONENTS= -DGOBUILD_OFFICIAL_BUILD=1
" コマンドラインで。-D オプションの「=」の後に何もないと Ant が混乱すると思います。(実験として、「」を変更しました-DGOBUILD_OFFICIAL_BUILD=1
" に "-DGOBUILD_OFFICIAL_BUILD=2
このプログラムで生成されたコマンドラインでは「」が表示され、エラー メッセージが「」に変更されました。Target "2" does not exist in the project "xxx".
")
を削除すると、-DGOBUILD_AUTO_COMPONENTS=
" ビルドの失敗が解消されました。
誰かがわかりやすく説明してくれるなら なぜ この場合、Ant はこのような奇妙なエラー メッセージを出力します (あるいは、正しく見れば不思議ではない理由かもしれません)。私はあなたの答えを受け入れます。