2016-04-25 27 views
-1

Mavenでのフォルダのメインとフォルダのテストの違いについて少し混乱します。今のところ、私はちょうどそれらの両方に私のソースコードをコピーして貼り付け、それは正常に動作します。私は、メインフォルダとまったく同じものを持っている別のフォルダを持っているのはどういう意味ですか?誰かがこれを私に説明してもらえますか?またMavenのmainとtestフォルダの違い

  • インストールとコンパイルの違いは何ですか。
  • このコマンドの場合:mvn archetype:generate、目標を生成していますか?アーキタイプとは何ですか?

おかげ

+1

https://maven.apache.org/guides/introduction/introduction-to-the-standard-directory-layout.html: 'main':アプリケーションソース/リソースtest''中:テストソース/リソース。それがすべてです。ここで4つか5つの無関係な質問をしています。これは、フェーズのインストールやコンパイルとは関係ありません。そしてこれはアーキタイプとは関係ありません。 – Tunaki

答えて

1

mainフォルダは、アプリケーションのコードとリソースが含まれており、testフォルダは、よく、テストコードとリソースが含まれています。したがって、アプリケーションコードはコピーせず、テストのみをコピーしてください。テストソースはテストフェーズのクラスパスに自動的に追加されます。

installcompileの違いについてはhttps://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.htmlをご覧ください。基本的には正しい目標、だろう、ローカルリポジトリにインストールし、テストの実行などの目標(、パッケージをコンパイルして、より多く含まれています。

generateをインストールします。archetypemaven-archetype-pluginのための短縮形で、含まれているプラ​​グインを意味し、 srctestフォルダ間のゴール。名前パターンmaven-*-pluginまたは*-maven-pluginと、デフォルトのプラグインでは、そのように短縮することができる。

+0

テストのポイントは、後で安定版に実装される実験コードをかなり "テスト"することです。 また、それはmvn cleanでcleanがプラグインであることを意味しますか? – Pablo

+0

いいえ、ユニットテストをそこに置いてください。 – dunni

+0

クリーンな場合はクリーンなプラグインもあり、クリーンフェーズにマップされています。 mvn cleanと入力すると、フェーズを実行します。mvn clean:cleanを実行すると、クリーンプラグインからゴールクリーンが実行されます(mvn cleanによって自動的に呼び出されます)。 – dunni

1
  • 分離は、両方の下で同じパッケージ構造は、あなたのcom.some.Classは、その方法を見つけたとするとき、それは目に見えるのですが保証標準的な方法でありますcom.some.ClassTestユニットテストが実行されます。
  • installcompileとの間の差。 the Maven lifecycleのドキュメントをお読みください。基本的には、のビルドフェーズを呼び出すたびに、ライフサイクルの前に定義されたすべてのビルドフェーズが、定義された順序で呼び出されます。
  • Documentation about what is Archetype
関連する問題