web-dev-qa-db-ja.com

必要なライブラリのアーカイブを読み取れないか、有効なZipファイルではありません

問題に来る前に、私が何をしたかを説明してみましょう。

  1. github にアカウントを作成し、Androidという名前のリポジトリを作成しました。
  2. 次に、Windows 7に github client をインストールしました。
  3. 次に、このクライアントを開き、認証を行い、リポジトリをローカルディレクトリにクローンしましたC:\Users\Aniket\Documents\GitHub\Android(このフォルダには.gitフォルダー)。
  4. 次に、Eclipse ADTにアクセスして、EGitプラグインを here の説明に従ってインストールしました。私も
  5. 次に、Eclipseでプロジェクトを右クリックしますTicTacToe go to Team->Share Projectとリポジトリパスを指定します。つまりC:\Users\Aniket\Documents\GitHub\Android
  6. 私のプロジェクトはローカルリポジトリに追加され、私のgithubクライアントでは、githubサイトの実際のリポジトリにファイルをコミットするためのすべてのオプションが表示されます。
  7. しかし、私のプロジェクトは赤い '!'で突然エラーを示しています。サインオンします。

    説明->必要なライブラリのアーカイブ:プロジェクト 'TicTacToe'の 'C:/ Users/Aniket/AndroidWorkspace/TicTacToe /libs/Android-support-v4.jar'を読み取ることができないか、有効なZipファイルではありません

    リソース-> TicTacToe

    パスの場所->ビルドパス

    タイプ->ビルドパスの問題

注:エラーは、Eclipseのエラーコンソールに表示される1行でした。読みやすくするために分割しました。

リポジトリをデタッチした後でも、そのエラーが表示されます。

誰も以前にこのシナリオに遭遇したことがありますか。解決策または回避策は何ですか?私はグーグルで検索し、最初のいくつかのリンクはEclipseのバグであることを示唆しています。プロジェクトを実行可能な状態に戻すためにできることを提案してください。

29
Aniket Thakur

これはEclipseのバグです。同様の問題に何度か直面しました。プロジェクトを閉じて再度開くといつか機能します。動作しない場合は、Eclipseを再起動してください。

49
rachit

私は同じ問題を見てきました。そのjarファイルを削除し、プロジェクトを右クリックしてmavenを選択し、「プロジェクトの更新...」を実行します。 jarが再度ダウンロードされ、問題はなくなりました。

22
volatilevar

エラーを表示する他のケースがあります必要なライブラリのアーカイブ

プロジェクトを右クリックして開きます->プロジェクトプロジェクトのプロパティ-> Java build path-> Android private libs

同じ名前のjarファイルが2つある場合は、libsから1つを削除します。

jarファイルが非表示になる場合があります。ウィンドウでlibsフォルダーを開き、非表示ファイルが存在するかどうかを確認します。整理->フォルダーと検索オプション->表示->隠しファイルの表示と隠しjarの削除file、同じcass 隠されている場合は削除Java srcおよびパッケージにfiesが存在する存在する場合

10
Sandeep P

誰もが伝えるべき物語が違うようです!私にとっては、Eclipse Markersタブからエラーを削除してから、プロジェクトを再度クリーンアップする必要がありました。その前に、@ rachitが示唆するように、プロジェクト/ Eclipseを数回閉じて、再度開きましたが、それは私にとってはうまくいきませんでした。

6
Mashrur

破損したjarファイルも原因である可能性があります。それが私の場合の理由であったので、最初にそれを確認する方が良い:

 jar tf myjar.jar

内部のコンテンツをリストする必要があります。

1
samsamara

私の場合、プロジェクトをインターネットからダウンロードしました。いくつかのファイルがブロックされていたプロジェクトを解凍した後、ファイルのブロックを解除してもう一度やり直して、問題は解決しました。

1
lomec

いくつかの答えがいくつかのケースでうまくいくかもしれないと言うでしょうが、私にとっては余分な距離を行くことが必要でした。それで、私は何ができるかの要約を作成しようとします:

  1. Jarファイルが完全であることを確認します。

    jar tf myjar.jar

  2. Eclipseを再起動し、プロジェクトを右クリックしてプロジェクト設定を更新します-> Maven-> Update project

  3. 私のために働いているオプションは、ワークスペースフォルダ内を移動してからファイルを削除することでした:

    .metadata/.plugins/org.Eclipse.jdt.core/invalidArchivesCache .metadata/.plugins/org.Eclipse.jdt.core/nonChainingJarsCache

その後、Eclipseを再起動し、プロジェクトを再構築します。

1
duderoot

私の場合、Eclipseを再起動しても問題は解決しませんでした。コンピューターを再起動し、Project -> Clean Eclipseで

1
mboeckle

私の場合、提案されたすべてのヒントを試しましたが、エラーは残りました。私はより新しいバージョンでバージョンを変更し、pom.xmlでそれを書きました。この後、すべてが大丈夫です。

1
enri

eclipse Marsでも同じ問題に直面していました。 jarを[ https://oss.jfrog.org/webapp/#/artifacts/browse/tree/General/repo/org/ethereum/ethereumj-core/1.0.0-SNAPSHOT] [1]からダウンロードしました] とディレクトリ内で置き換えました。

C:\ Users {machineName} .m2\repository\org\ethereum\ethereumj-core\1.0.0-SNAPSHOT\ethereum-core-1.0.0-SNAPSHOT.jarでpom.xmlを使用してethereum.jarを追加中にエラーが発生しました、ダウンロードしたjar(ethereum-core-1.0.0-SNAPSHOT.jar)をここに追加し、問題を解決しました。

1
Hem M

私のために働いた解決策:*.classpathそして行を削除します:<classpathentry kind="lib" path="the_problematic_class.Java"/>

1
BVtp

Java Webアプリケーション、プロジェクトにjarとして追加されたweb.xml。プロジェクトエクスプローラーで、jarアイコンのようにweb.xmlを見つけてプロジェクトから削除してください。エラーはなくなります!!

0
YÒGÎ

私の場合、Javaインストールは適切ではありませんでした。そこで、Javaをアンインストールし、新しいバージョンを再インストールしました。これで動作します。

0
ChandrasekarG

どこにも重複が見つからなかったため、Eclipseを再起動してプロジェクトを再構築しました。私はたった1つのライブラリーでエラーを受け取っていました。 jarファイルの名前をksoap2-Android-Assembly-2.5.8-jar-with-dependencies.jarからksoap2-2.5.8.jarに変更しようとしました

上記の問題が解決しない場合は、これも試してください

0
Jimit Patel

ネット上で解決策を探していたにもかかわらず、私はこの問題に何日も悩まされていました。私は最初にプロジェクトをNetbeansに移行し、すべて正常に動作しました。次に、Eclipse-> properties-> Java compile-> Buildingに戻り、「Incompartible build path」オプションをエラーから警告に変更してから、mavenの更新を行い、機能しました。

0
Andy Kofi

私たちにとって、問題は.jarファイルのサイズのようです。次のテストを実行して、これが当てはまるかどうかを確認することをお勧めします。まず、Eclipseプロジェクトの他のjarを見て、問題のあるjarと比較します。それは他のものよりもはるかに大きいですか?その場合は、次の回避策を試してください。それ以外の場合、この答えはおそらく役に立たないでしょう。開始する前に、次のコマンドラインコマンドで.jarファイルを.Zipファイルとして扱うようにWindowsを構成します。

assoc .jar=CompressedFolderhttps://superuser.com/questions/121540/can-you-configure-windows-to-open-jar-files-like-Zip-files-without-a-3rd-party-を参照t

オプション:簡単なテスト

回避策を試す前に、これが本当にjarファイルのサイズであるかどうかを確認するテストを行います。

  1. 問題のあるjarにないランダムな.classファイルでいっぱいの大きな.jarを作成します。これを行うには、フォルダーをファイルでいっぱいにし、それを圧縮し、.Zip拡張子を.jarに変更します。 Windowsは、拡張子の変更について警告する場合があります。これは無視してください。問題のあるjarファイルよりも少し大きくなるように、フォルダーに十分なファイルがあることを確認してください。
  2. この人工的に作成されたjarをインポートしてみてください。同じエラーで失敗する場合は、おそらくサイズが問題です。

回避策

上記のオプションの簡単なテストを実行して特定した可能性のある問題が実際にサイズである場合は、次の回避策を試すことができます。

  1. .jarファイルを解凍します。これはWindowsで簡単にできるはずです
  2. 手順1で取得したフォルダーを小さなサブフォルダーに分割します。オリジナルの大きさに応じて、2つ以上のフォルダーになります。サイズが問題にならないように、既存の「良い」jarファイルよりもフォルダーを小さくする必要があります。これを行うときは、パッケージ構造をそのままにしてください。
  3. 手順2で作成したすべてのフォルダーを圧縮し、.Zipの名前を.jarに変更します。
  4. 手順3のすべての.jarを個別にインポートします。

手順は少し不明瞭かもしれませんので、ここに例を示します。 jarファイルの名前がmylib.jarであったとします。これをmylibというフォルダーに解凍します。内部に、package1、package2、package3という3つのサブフォルダーがあるとします。 mylib1、mylib2、mylib3という3つのフォルダーを作成し、それぞれpackage1、package2、package3に入れます。次に、これらを圧縮し、拡張子を.jarに変更します。その後、mylib1.jar、mylib2.jar、mylib3.jarをインポートします。

0
Colm Bhandal