1

私はafreechartを使用してedu.emory.mathcs.jtransformsおりorg.afree.chart、さまざまなアクティビティで Android 用に書いています。新しいプロジェクトを構成するたびに、途方もない問題を抱えています。

  1. Eclipse IDE でコードを記述しながら、ライブラリーのクラスを「参照」します。
  2. これらのクラスの添付ソースを参照してください
  3. これらのクラスについては、添付の javadoc を参照してください
  4. アクティビティを実行しようとすると、これらのクラスの .class ファイルが表示されます。

私が今行っていることは、使用する各ライブラリの .jar、doc src、および .properties のコピーを作成することです。これら 4 つのものを、作成中の各プロジェクト (アクティビティごとに 1 つ) のローカル lib フォルダーにコピーします。

私は単純なものが欠けているに違いありません。これらのライブラリを doc、src、および .properties とともに 1 つの場所に配置し、それらのライブラリを使用する各プロジェクトでその場所を参照できるようにする必要があることは明らかです。しかし、私はまだそれを行う方法を理解していません。方法を教えてください。

私が行う新しいEclipseプロジェクトによって自動的かつ常に検索される一連のjarと関連するsrcとdocを定義する方法があれば、それはさらに良いでしょう.

EDIT ADDED外部ライブラリに関する回答の後:

実際、jtransforms-2.4.jar を外部ディレクトリに配置しました。その同じディレクトリに、パッケージの src と doc と、doc と src でローカル ファイルを指す doc と src エントリを含むファイル jtransforms-2.4.properties を配置しました。それらを外部jarとしてビルドパスに追加しました。

1) Eclipse IDE は確かに .jar 内のクラスを検出し、見つからないというフラグを立てませんでした。2) doc と src は添付されていないと表示されました。 jar を外部 jar としてリンクするすべての場所に自動的に表示されるように、doc および src 情報をライブラリと共に配置するにはどうすればよいですか? 3) アプリを実行しようとすると、「jar 内のすべてのクラスで NoClassDefFound エラーが発生しました。つまり、Eclipse IDE はこれらのクラスを外部ライブラリで見つけることができましたが、それらはアプリ。

概要: したがって、「外部 jar」手法は 3 つの重要な点のうち 2 つで失敗しました。

最後に: jar、.properties、doc、および src をプロジェクトの lib フォルダーにコピーし、外部 jar 参照を削除すると、すべてが完全に機能しました。

元の質問を繰り返しますが、与えられた回答 (外部 jar としてビルド パスに追加) は何も解決しませんでした。

4

2 に答える 2

0

android でmavenを使用できます。jar が maven central にある場合は、それを参照するだけで済みます。そうでない場合は、ローカルの maven リポジトリに配置します (ローカル マシンで実行します)。

Maven は、このような依存関係を管理します。Eclipse には Maven プラグインも含まれているため、プロジェクトの参照も正しく表示されます。私は最近切り替えを行いましたが、それだけの価値がありました (ただし、正しくセットアップするには数日かかりました)。

于 2013-01-12T00:11:22.063 に答える
0

ここでのキーワードはexternalです。ライブラリをローカルの lib フォルダーに配置しなくても、プロジェクトにライブラリを追加できます。それらを「外部アーカイブ」として追加するだけです。eclipse junoでビルドパスに外部ライブラリを追加

プロジェクトのプロパティを介してそれらを追加および変更することもできます。
作成するすべてのプロジェクトにいくつかのライブラリを追加するのは良い考えだとは思いませんが、そのためのスクリプトがあるかもしれませんが、それは組み込み関数ではありません。
編集:
まあ、それは実際には組み込まれておらず、ハックっぽいように見えますが、このスレッドはあなたにとって役立つかもしれません. プロパティファイルを介して問題に対処する方法が含まれています。このファイルを一度作成して、プロジェクトに追加するだけです。したがって、これは半自動です;)
しかし、これらすべてのライブラリを毎回必要とする必要はないため、このソリューションはすべてのプロジェクトに追加するよりも優れていると思います...
編集2:(あなたのものの後)最初のポイントについて:
ライブラリが外部ライブラリとして機能しない理由はさまざまです。

  1. そのフォルダに適切な権限がありません
  2. クラスパスにライブラリの複数のバージョンがあります。それらの他の参照を削除してから、もう一度やり直してください

すでに述べたように、クラスパスに追加するだけでは、リンクされた src とドキュメントが自動的に提供されません。上記のリンクをチェックすることをお勧めします。そのテクニックを使えば、半自動的に目標を達成できるかもしれません。
しかし、外部ジャーと日食についてグーグルで検索すると、同じ問題を抱えている多くの人に遭遇します。したがって、通常はそのままで動作するはずです。日食を更新していただけませんか? 別の編集: Android アプリを作成しているという事実を完全に忘れていました。まあ、それはかなり特殊なケースです。この問題に関する多くのトピックがあります。多分あなたもこれをチェックする必要があります。ADT17 では、ライブラリを libs に配置すると、自動インポートがトリガーされます。そのため、このように機能します (/libs に配置した場合)。

于 2013-01-11T22:01:57.750 に答える