2012-02-22 11 views
0

は、私は彼らのdownloads pageで利用可能な成果物には主に2つの「型」に気づい:ジャー構成とその内容

  • guice-3.0.zip。そして
  • guice-3.0-src.zip

それらの両方をダウンロードし、その内容を検査したら、彼らはGuiceの3.0リリースの2全く異なる「視点」であるように見えます。

guice-3.0.zipには、Guice jarとその依存関係が含まれています。 guice-3.0-src.zipは、しかし、実際のGuiceのjarを含んでいなかったが、それはは、他の良さのすべての種類が含まれていなかった:などのJavadoc、例、

だから、私は考えていました:瓶の異なる「構成」がなければなりませんJavaプロジェクトの中でリリースされています。このアイデアを、Ivy(アーティファクトコンフィグレーションのコンセプト)とMaven(アーティファクトスコープのコンセプトを持つ)のようなビルドツールから知ると、私はアーチファクトの設定/スコープ(瓶)との間の関係を示す。

ここで、my-utils.jarというユーティリティジャーを作っていたとしましょう。そのIvy記述子では、log4jをコンパイル時の依存関係、junitをテスト依存関係として挙げることができます。ビルド時に解決する2つの「構成」を指定できます。

私が知りたいのは、これらの構成と最終結果で生成されるジャーの内容との間の「マッピング」は何ですか?

例えば、私はメインmy-utils.jarに巻く私compile設定の依存関係のすべてをパッケージ化するかもしれないが、これまでmy-utils-test.jarに私test依存関係をパッケージ化する理由があるでしょうか? my-utils-src.jarにはどのような依存関係がありますか?

私はこれらの小さな疑問がたくさんいることを知っているので、私は次のようにすべてをまとめることができますね。

  • 主要なプロジェクトのために、(例えばguice-3.0.zipとしてリリースされます瓶の代表的な品種は何ですかvs guice-3.0-src.zipなど)、それぞれの典型的な内容は何ですか?また、Ivy構成やMavenスコープの概念にどのように戻ってマッピングされますか?

答えて

2

実行する必要があるのはguice-3.0.zipです。正しいパッケージ構造のファイルが.classです。

その他のJAR、guice-3.0-src.zipには、.javaソースファイルとその他役に立つものがあります。 IntelliJのようなスマートなIDEは、ソースJARを使ってデバッガを使ってGuiceコードに入り、何が起こっているのかを見ることができます。

またGuiceのソースコードを読むことで多くのことを学ぶことができます。あなたと私よりスマートな開発者がコードを書く方法を知ることができます。

GoogleコードでEfficient Java Matrix Libraryが見つかりました。これには、ソース、ドキュメント、その他の必要なものとともに提供される広範なJUnitテストスイートがあります。私はそれが最も印象的だと思います。私はそれを自分自身でエミュレートしたいと思います。

+0

ありがとうduffymo - テストの依存関係やユニットテストなどをmy-utils-test.jarに入れるのはどうですか? Javaアプリケーションは「テスト」バージョンをリリースすることで恩恵を受けていますので、川下のプロジェクトでは、モックとテストの倍精度化のために(通常/メインの代わりに)「テストジャー/構成」を使用できますか? – IAmYourFaja

+0

最後のコメントでは、同じlog4j APIに対してコードを作成することはできますが、プロダクションログファイルにはヒットしないような 'log4j-2.16-test.jar' ? – IAmYourFaja

+0

私は良い考えのように聞こえると思います。 – duffymo

関連する問題