2012-12-19 53 views
23

これは、ダウンロードしたEclipseプラグイン・プログラムのファイル.classpathです。eclipseの.classpathファイルの解釈。 'kind = "con"と "exported =" true "はどういう意味ですか?

kind="src"kind="output"は、ソースのJavaファイルとコンパイルされたクラスファイルの場所を意味するので、まっすぐです。

kind="lib"は、プラグインが参照しているjarファイルを示しているようですが、わかりません。

  • kind="con"とは何ですか?
  • exported="true"の場合はどうなりますか?私はこのプラグインを使用するために、プラグインが参照するすべてのjarファイルをエクスポートする必要があると思いますが、そのうちのいくつかだけがエクスポートされます。

enter image description here

答えて

19

1)、conclasspath containerとしてケラレによって解釈される容器を意味します。そのリンクに記載されているように:

クラスパスコンテナは間接的換言

種類CPE_CONTAINERのクラスパス・エントリを介し クラスパス・エントリのセットを参照するための方法を提供し、それは他のクラスパスのグループ化を可能にしますどのような方法であっても、どこでもエントリを再利用することができます。

2)exported: プロジェクトCに依存するプロジェクトBがあるとします。依存関係はexported=trueと定義されています。次に、プロジェクトBに依存する別のプロジェクトAは、A 'クラスパスにプロジェクトCが存在します。

+0

次に、エクスポートされたライブラリは実行時の目的にのみ使用されていると思います。つまり、ライブラリが実行時に参照されていないときは、エクスポートする必要はありません。 – prosseek

+0

@prosseekも 'class'ファイルと同じですが、' A'プロジェクトの_code_でライブラリを使いたいのであればコンパイル時にも必要ですが、通常はすべてのプロジェクト ' A、B、Cはすべてあなたのものであり、第三者のものではありません。 – yair

+1

@prosseek 'B'が第三者である場合、依存関係が第三者を使用するクライアントコードのクラスパスに存在することが保証されていない場合、依存関係をエクスポートします。その第三者の使用が実際にそれが輸出する依存関係を必要としない場合、それは除外される可能性があります。 – yair

7
  • 種類=「詐欺」、classpath containers
  • エクスポート=真の輸出依存性を示す意味されるプロジェクトとしてエクスポートされた依存関係にアクセスする/見ることができる上depedencyを持っている任意のプロジェクトよくkind="con"
+0

壊れたリンク「classpath containers」 – chrish

関連する問題