web-dev-qa-db-ja.com

EclipseはBuildingworkspace ...とBuildingworkspace ...とBuildingworkspaceを保持します

Androidプロジェクトをビルドするときに、Eclipseがワークスペースの構築...および(再)ワークスペースの構築...および(再)ワークスペースの構築...の無限ループでスタックするのはなぜですか?.

これは既知のバグですか?

このループから抜け出すための適切な方法は何ですか?

ノート:

  1. Project > Build Automaticallyのチェックを外すと、正常にビルドされ、完全に実行されている署名付きリリースAPKもエクスポートされます。
  2. この問題は、最新のSDKr19にアップグレードした後にのみ発生しました。それ以前(SDK r11)、私はこの問題を経験したことはありません。
  3. Bug 160868 はまさにこの問題を説明しています。しかし、それ以来、それは解決されていませんか?
  4. 同様の問題の説明が見つかりました ここ しかし、前のものと同様に、それは古く、Android開発に直接関係していません。
  5. Issue 2794 は、BuildConfig.DEBUGという名前のconstを処理する際のバグを示唆しており、関連している場合と関連していない場合があります。しかし、それはr18で修正されていませんか?
  6. Androidビルドシステムで 自動タグ付け/日付スタンプ のこの素晴らしいヒントを見つけましたが、ダブルチェックとビルダーが正しい順序で来ることを確認するプロジェクトビルダーのリストの順序(この無限ループビルド動作を示さない他のプロジェクトと同じ順序)。
  7. 私の勘は、ロックファイルまたはフラグが何らかの理由でスタックし(読み取り専用モード?)、ビルドシステムを混乱させる可能性があることを示しています。そのブール値が何であるか、そしてそれをどこで見つけるかについて何か考えはありますか?
  8. 同じワークスペースで別のプロジェクトを最初に開いた場合(この問題は発生しません)、この問題が発生したプロジェクトは、奇跡的に無限の再構築を停止します。最初に開いたプロジェクトの順序を逆にすると、これは発生しません。これは、Eclipse/SDK/ADTビルドシステムのグレムリンを意味しますか?

「ブラインドシューティング」はご遠慮ください。この驚くべき現象を個人的に経験した(そして解決した)場合、またはこの驚くべき現象を経験した(そして解決した)記事を指摘できる場合にのみ、この質問に答えてください。

26
Eternal Learner

判明 バグ2794 まだ修正されていません。

次の回避策を使用します。

  1. 「プロジェクト>自動ビルド」を無効にする
  2. プロジェクト>クリーン
  3. プロジェクト>すべてビルド
24
Eternal Learner

ワークスペースをWindows7ライブラリ(つまり、Windowsエクスプローラーのお気に入りまたはWindowsエクスプローラーライブラリー)に追加しましたか?別のユーザーにも同様の問題がありました ここ

別のエディター(プロジェクトのターゲットディレクトリ)で何かを開いている場合、これによって無限の「ビルドワークスペース」ループが発生する可能性もあります。

3
Alex Lockwood

モジュールの.projectファイルを開いて解決しました。 2つの冗長なエントリがあり、1つを削除すると次のようになりました。

<buildCommand>
    <name>org.Eclipse.m2e.core.maven2Builder</name>
    <arguments>
    </arguments>
</buildCommand>
<buildCommand>
    <name>org.Eclipse.m2e.core.maven2Builder</name>
    <arguments>
    </arguments>
</buildCommand>

次の2つのエントリが原因で、古いorg.maven.ideエントリを削除する必要がある場合もあります。

<buildCommand>
  <name>org.maven.ide.Eclipse.maven2Builder</name>
</buildCommand>
<buildCommand>
  <name>org.Eclipse.m2e.core.maven2Builder</name>
</buildCommand>

また、2つの同じ性質がある可能性があります。

<natures>
    <nature>org.Eclipse.m2e.core.maven2Nature</nature>
</natures>
<natures>
    <nature>org.Eclipse.m2e.core.maven2Nature</nature>
</natures>

または1つが古い2つの性質

<natures>
    <nature>org.Eclipse.m2e.core.maven2Nature</nature>
</natures>
<natures>
    <nature>org.maven.ide.Eclipse.maven2Nature</nature>
</natures>

冗長なものまたは古いorg.maven.ide.Eclipse.maven2Natureを削除するだけです

2
Lonzak

これと同じ問題が発生しましたが、しばらくの間、その理由がわかりませんでした。それから私はついにそれを引き起こしているものを理解しました(とにかく私にとって)。

カスタムライブラリの1つを使用する古いプロジェクトがワークスペースにあったことが判明しましたが、ライブラリを使用するためのビルドパスが適切に設定されていませんでした(残念なことに、Eclipseはそれを簡単に教えてくれませんでした!) =。このワークスペースを別のハードドライブからコピーしましたが、ファイルパスがすべて異なっていたと思います。

したがって、ワークスペース内のプロジェクトのいずれかが外部ライブラリを使用している場合は、ビルドパスにライブラリが定義されていることを確認してください(Properties -> Java Build Path -> Projects[tab]

それが他の誰かの助けになることを願っています。

1
lifo

私の場合、これは次の方法で解決できます。

コマンドラインウィンドウを開いて、現在のディレクトリをビルドするプロジェクトのターゲットフォルダに設定しました。それは無限ループを引き起こしました。ウィンドウを閉じると問題が解決しました。

Eclipseがターゲットフォルダーを削除できない場合、何度も何度も試行されると思います。

0
pj9220

すべてのプロジェクトをビルドする以外に、終了したプロジェクトを閉じることができます。
完成したプロジェクトをクリックして
に移動
プロジェクト->プロジェクトを閉じる
これがうまくいくことを願っています

0
Alvi

私の2セントを追加するには:はい、2019年なので、Eclipse2019-06が今インストールされています...eyeroll以前のバージョンでも問題が発生することがありましたが、Eclipse2019にアップグレードした後- 06突然、3人の「寝台車」が並行して走り、何もできなくなった。

それを再び機能させるには、Mavenリポジトリ内のプロジェクトのディレクトリツリーを削除する必要がありました。したがって、私の場合は、ディレクトリ~/.m2/repository/com/sjngmを削除するだけで済みました。

次に、Eclipseを再起動すると、起動時に、そのディレクトリの下にある、現在欠落している依存関係が内部リポジトリからダウンロードされたようです。

0
sjngm

両方のプロジェクトは相互に参照されます。

「プロジェクト->プロパティ->プロジェクト参照」に移動し、両方のプロジェクトの参照を確認します。これにより、自動的にビルドするときに無限ループのようになります。

0
user2371392

私は同じ問題を抱えていて、削除することで解決しました:プロジェクト>プロパティ>ビルダー> JavaScriptバリデーター

WebアプリにJavaScriptがありませんでした。

0
Klykoo