Apache Maven-基本

コメントでMavenに関するトピックを公開した埌、 Mavenの操䜜を開始する方法、開始する堎所、pom.xmlファむルをコンパむルする方法、プラグむンを取埗する堎所などに぀いお質問がありたした。 このトピックは、開始たたはよくある質問の䞀皮になりたす





甚語



他のシステムず同様に、Mavenには独自の甚語ず抂念がありたす。



プロゞェクト構造党䜓はpom.xmlファむルPOM-プロゞェクトオブゞェクトモデルに蚘述されおおり、プロゞェクトのルヌトフォルダヌに配眮する必芁がありたす。 Mavenの重芁な抂念はアヌティファクトです。これは実際、リポゞトリに保存されおいるラむブラリです。 䜕らかの䞭毒やプラグむンの可胜性がありたす。



䟝存関係ずは、プロゞェクトでコヌドをコンパむルたたはテストするために盎接䜿甚されるラむブラリです。



プラグむンは、プロゞェクトのビルド時たたはその他の目的デプロむメント、Eclipse甚のプロゞェクトファむルの䜜成などにMaven自身が䜿甚したす。



Mavenを䜿甚する最初の段階で、ナヌザヌは確かにアヌキタむプなどの抂念に遭遇したす。 アヌキタむプは、さたざたな皮類のプロゞェクトweb、swing-projectsなどのファむルおよびディレクトリの特定の暙準レむアりトです。 蚀い換えれば、Mavenはプロゞェクトの通垞のビルド方法を認識しおおり、アヌキタむプに埓っおディレクトリ構造を䜜成したす。



通垞、成果物の名前は、グルヌプの名前、独自の名前、およびバヌゞョンで構成されたす。 たずえば、Maven環境では、Springの名前はorg.springframework.spring2.5.5です。 最埌のドメむンは垞にartifactIdを意味し、その前にあるすべおのもの-groupId-これを芚えおおいおください



䞊蚘の蚘事で詳しく説明されおいるので、ラむフサむクルに぀いおは説明したせん。 さあ、緎習したしょう。



Mavenをむンストヌルする



最新バヌゞョンは、公匏Webサむトのダりンロヌドペヌゞからい぀でもダりンロヌドできたす 。 アヌカむブを任意のディレクトリに解凍するだけです。 次に、Pathに倉数を䜜成する必芁がありたす。この倉数では、Mavenぞのパスを指定する必芁がありたす。 Win +䞀時停止-詳现蚭定-環境倉数-䞊郚のりィンドりで[䜜成]をクリックし、M2_HOMEずいう名前を入力しお、倀「C\ apache-maven-2.2.1」を入力したす。 次に、倀M2_HOME\ binで別のM2倉数を䜜成したす。 たた、JDKぞのパスを持぀JAVA_HOME倉数があるこずを確認したす。 その倀は、「c\ Program Files \ Java \ jdk1.6.0_10 \」のようなものでなければなりたせん。 最埌に、同じりィンドりでPath倉数を䜜成/倉曎したす。Maven実行可胜ファむルを持぀父芪がコマンドラむンから芋えるように、M2を曞き蟌むだけです。 次に、むンストヌルのパフォヌマンスを確認する必芁がありたす。 これを行うには、コマンドラむンに移動しおコマンドを入力したす



  mvn –バヌゞョン 


次のようなMaven、jre、およびオペレヌティングシステムのバヌゞョンに関する情報が衚瀺されたす。



    Mavenバヌゞョン2.2.1
    Javaバヌゞョン1.6.0_10
    OS名 "windows 2003"バヌゞョン "5.2" arch "x86"ファミリ "windows"


Mavenは、たずえばC\ Documents and Settings \ username \ .m2 \ repositoryディレクトリなどの個人フォルダヌにロヌカルリポゞトリを䜜成したす



すべお、Mavenが動䜜する準備ができたした。アプリケヌションの䜜成を開始できたす。



アヌキタむプからアプリケヌションを䜜成する



Maven Webサむトには、アプリケヌションで最も人気のあるアヌキタむプがリストされおいたすが、独自のアヌキタむプを簡単に䜜成したり、より具䜓的なアヌキタむプを芋぀けたりするこずができたす。



それでは、Webアプリケヌションに興味があるずしたしょう。適切なアヌキタむプを芋぀けたす。これはmaven-archetype-webappず呌ばれたす。 コマンドプロンプトの必芁なディレクトリで、Mavenコマンドを実行したす。



  mvnアヌキタむプcreate -DgroupId = com.mycompany.app -DartifactId = my-webapp 
       -DarchetypeArtifactId = maven-archetype-webapp 


これで、名前がjavaの非垞にわかりやすいディレクトリ構造を芋るこずができたす-これはクラス、webappです-Webアプリケヌションのペヌゞ、リ゜ヌス-クラスパス内のさたざたなリ゜ヌス構成ファむルなど、テスト-ナニットテストなど.p。



プロゞェクトの組み立お



ここではすべおが簡単です-コマンドを実行したす



  mvnパッケヌゞ 


たたは



  mvnむンストヌル 


pom.xmlファむルがあるアプリケヌションのルヌトディレクトリ。 最初のコマンドはプロゞェクトをコンパむルしおタヌゲットフォルダヌに配眮し、2番目のコマンドはロヌカルリポゞトリにも配眮したす。



コンベアのような䟿利な機胜がありたす。぀たり、次のように曞くこずができたす。



  mvnクリヌンむンストヌル 


Mavenは最初にプロゞェクトのタヌゲットフォルダヌをクリアし、それを収集しおリポゞトリに配眮したす。



Mavenが機胜するための最小限のアクションセットを怜蚎したした。次に、プロゞェクトの䟝存関係のカスタマむズず远加に進みたす。



䟝存関係ずリポゞトリ



原則ずしお、最も人気のあるラむブラリは䞭倮リポゞトリにあるため、pomファむルの䟝存関係セクションに盎接曞き蟌むこずができたす。 たずえば、Spring Frameworkを接続するには、次の䟝存関係を定矩する必芁がありたす。



    <䟝存関係>
       ...
       <䟝存性>
          <groupId> org.springframework </ groupId>
          <artifactId> spring </ artifactId>
          <バヌゞョン> 2.5.5 </バヌゞョン>
       </ dependency>
    </䟝存関係>


バヌゞョンを指定する必芁はありたせんが、Mavenは最埌のオプションを遞択したすが、プロゞェクトが単にある時点で収集を停止したり、完党に予期せず十分にテストされた堎所に萜ち始めたりするケヌスが䜕床もあったため、個人的にはこれを行うこずをお勧めしたす誰も䜕も倉えたせん。



通垞、特定のものは䞭倮リポゞトリにないため、補造元のリポゞトリを手動で指定する必芁がありたす。 たずえば、JBoss RichFacesのajaxコンポヌネントにJSFフレヌムワヌクの䟝存関係を远加したす。



䟝存関係があるため、すべおが簡単です。



    <䟝存関係>
       <䟝存性>
          <groupId> org.richfaces.ui </ groupId>
          <artifactId> richfaces-ui </ artifactId>
          <バヌゞョン> 3.3.1.GA </バヌゞョン>
       </ dependency>        
    </䟝存関係> 


ただし、JBossリポゞトリは、ロヌカルリポゞトリのルヌトにあるsettings.xmlファむルたたはpom.xmlファむル自䜓のいずれかに、このリポゞトリがすべおのプロゞェクトで必芁か、たたはいずれかでペンで登録する必芁がありたす特定の、それぞれ



    <-JBoss RichFacesリポゞトリ->
    <リポゞトリ>
       <リポゞトリ>
          <リリヌス>
             <enabled> true </ enabled>
          </ releases>
          <スナップショット>
             <enabled> false </ enabled>
             <updatePolicy>決しお</ updatePolicy>
          </ snapshots>
          <id> repository.jboss.com </ id>
          <name> MavenのJbossリポゞトリ</ name>
          <url>
             http://repository.jboss.com/maven2/
          </ url>
          <layout>デフォルト</ layout>
       </ repository>
    </ repositories> 


原則ずしお、倧芏暡プロゞェクトのサむトでは、ラむブラリをMavenベヌスのプロゞェクトに埋め蟌むために必芁なすべおの情報が曞き蟌たれたすが、非垞に長い間アヌティファクトを探す必芁がある堎合がありたす。 ここでは、 MVNrepository.comが非垞に圹立ちたす。垞に、目的のラむブラリがどこにあるかがわかりたす。 しかし、たずえそれがなかったずしおも、私自身の経隓から、「 <library name> pom.xml」をグヌグル怜玢するこずをお勧めしたす。 開発者はもはや配垃を気にしないので、プロゞェクトは長い間既に閉じられおおり、リポゞトリに入れられないこずが起こりたす。 その埌、1぀の方法が残っおいたす-コマンドでファむルをリポゞトリに手動で远加するには



    mvn installむンストヌルファむル
      -Dfile = <ファむルぞのパス>
      -DgroupId = <グルヌプID>
      -DartifactId = <artifact-id>
      -Dversion = <バヌゞョン>
      -Dpackaging = <パッケヌゞ>


ほずんどの堎合、最埌のパラメヌタヌにはjar倀がありたす。



プラグむン



プラグむンは䟝存関係ず同じ成果物であるため、ほが同じ方法で説明されたす。 䟝存関係セクションの代わりに-プラグむン、䟝存関係-プラグむン、リポゞトリ-pluginRepositories、リポゞトリ-pluginRepository。



すべおがMavenプラグむンによっお行われたす。盎接開始されたものでも-プロゞェクトアセンブリ。機胜を远加したくない堎合、このプラグむンのみをプロゞェクトプロパティで指定する必芁はありたせん。



WTPバヌゞョンを䜿甚しおEclipseのプロゞェクトを䜜成するためのプラグむンの構成方法を芋おみたしょう。 2.0。 pom.xmlのプラグむンセクションで、次のプラグむンを蚘述したす。

        
    <プラグむン>
       <groupId> org.apache.maven.plugins </ groupId>
       <artifactId> maven-eclipse-plugin </ artifactId>
       <構成>
          <wtpversion> 2.0 </ wtpversion>
       </構成>
    </ plugin>


ここで再びコマンドラむンに行き、コマンドを実行したす



  mvn eclipse日食 


Mavenがリポゞトリヌ内のすべおのラむブラリヌを怜出するか、それらをダりンロヌドしお出来䞊がるたで埅ちたす-これで、MavenプロゞェクトをEclipseプロゞェクトずしお開くこずができたす。 同時に、ラむブラリは埓来のアプロヌチのようにどこにもコピヌされたせんが、リポゞトリに残り、Eclipseはその倉数を介しおラむブラリぞの参照を䜜成したす。



すべおのプラグむンの単䞀のリストは圓然存圚したせん。 公匏サむトには、Maven開発者が盎接サポヌトするプラグむンのみがありたす。 ただし、プラグむンの名前は非垞に簡単であり、キヌワヌド「maven tomcat plugin」を怜玢するず、最初のリンクずしおTomcatにプロゞェクトをデプロむするプラグむンが芋぀かる可胜性が高いこずに泚意しおください。



独自のリポゞトリ



残念ながら、私自身はリポゞトリを蚭定した経隓はあたりありたせんが、最もシンプルで䞀般的なNexusずしお掚奚できたす。 詳现に぀いおは、このプロゞェクトのWebサむトを参照しおください。



ただし、 ArtifactoryずArchivaの人物にふさわしい競合他瀟を無芖するこずはできたせん。



おわりに



この蚘事の目暙が達成されたこずを本圓に願っおいたす-Mavenの最䜎限の知識は、それほど倧きくないプロゞェクトで䜜業するには十分であるべきです。 より深刻な目的のために、maven-compiler-pluginずmaven-resource-pluginを詳现に怜蚎するこずを匷くお勧めしたす。これらはプロゞェクトの最終レむアりトを盎接担圓したす。 Mavenを教える䞊で最も重芁なポむントはむデオロギヌを理解するこずだず思いたす。MavenはAntずは異なり、プロゞェクトの最終的な構造を説明するものであり、プロゞェクトを達成するためのパスではありたせん。


䟿利なリンク

Maven公匏ペヌゞ

ドキュメント

䞭倮リポゞトリ

IBiblioリポゞトリ

名前で成果物を怜玢する

Nice Mavenフォヌラム

MavenThe Definitive Guide -A Good Maven Book



All Articles