2012-07-02 34 views
5

MavenでSVNからチェックアウトや更なるアップデートを行う方法を教えてもらえますか?私はmaven.apache.orgのドキュメントを読んでいますが、コマンドラインでパラメータを渡さずにscm:checkoutとscm:updateの使い方を理解できないので、私はあまりにも馬鹿だと思われます。私はちょうど実行したとき、私は意味:Maven SVNチェックアウト

mvn scm:checkout (or scm:update) clean install 

Mavenのチェックアウトソースへ/ターゲット/チェックアウト、それはそれを削除し、もちろん、それはそれは空の瓶を作るコンパイルには何もしています。だから私はこのような何かを書く必要があります:

mvn scm:checkout -DconnectionUrl=scm:svn:http://svn.my.dev/scm/repo/trunk/myProject -DcheckoutDirectory=src clean install 

私はしたくないです!これらのパラメータをpom.xml内に設定するにはどうすればよいですか?そして、私はどのように現在のディレクトリをcheckoutDirectoryとして設定できますか? 私のpom.xmlは、これらの行は、(おそらくそれは私が$ {project.basedir}としてそれを設定することができるためのpom.xmlにそれを設定した場合、問題になることはありませんが、誰が知っている):ところで

... 
    <scm> 
    <connection>scm:svn:http://svn.my.dev/scm/repo/trunk/myProject</connection> 
    <developerConnection>scm:svn:http://svn.my.dev/scm/repo/trunk/myProject</developerConnection> 
    </scm> 
... 
    <plugin> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-scm-plugin</artifactId> 
     <version>1.7</version> 
     <configuration> 
     <username>username</username> 
      <password>password</password> 
     </configuration> 
     </plugin> 
... 

を、 connectionとdeveloperConnectionの違いは何ですか? Mavenのドキュメントでは、developerConnectionは「開発者向けのSCM接続URL」としか書かれていません。私はこれがリスのためのいくつかのつながりだと思ったので、私のために非常に驚くべきことです、またはバニーかもしれません。

答えて

4

checkoutDirectoryオプションは、maven-scm-pluginの設定に直接追加できます。ファイルがチェックアウトされたら、うん、おかげで、その作品workingDirectoryオプション(だけでなく、プラグイン構成で構成することができます)

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-scm-plugin</artifactId> 
    <version>1.7</version> 
    <configuration> 
    <username>username</username> 
    <password>password</password> 
    <checkoutDirectory>${project.basedir}/src</checkoutDirectory> 
    <workingDirectory>${project.basedir}/src</workingDirectory> 
    </configuration> 
</plugin> 
+0

scm:updateを使用することができます。しかし、私はまだcheckoutDirectoryとして現在のディレクトリを設定することはできません。何らかの理由で $ {project.basedir}(workingDirectoryと同じ)を設定した場合、pom.xmlを含むディレクトリ全体を消去して、ディレクトリ自体を削除できないというメッセージが表示されます。大したことではありませんが、上記の「src」サブディレクトリをチェックアウトや作業ディレクトリとして使用できますが、私にとっては、このような使用方法には現在のディレクトリを使用する方が良いでしょう。出来ますか? – mykola

+0

いいえ、Mavenはチェックアウトを行う前に必ずチェックアウトディレクトリを削除するので、これは可能ではないと思います。 あなたのビルド設定がどういう仕組みか分かりませんが、POMファイルをあなたのsrc /ディレクトリと共に(ほとんどの人がそうしているように)コミットすることができます。これがあなたの環境で可能なら、 'mvn scm:checkout -DconnectionUrl = scm:svn:http:// my-svn-url -DcheckoutDirectory ="/my/checkout/directory "'を実行することができます。 "ブートストラップ" POMにすべての-Dオプションを入れて、単に 'mvn scm:checkout'または' mvn scm:update'を実行することもできます。 –

+0

私はチェックアウト/更新プロジェクトのシェルスクリプトを作ってから、結局のところ、Mavenのsvnプラグインは、とにかくsvnがインストールされている必要があり、svnシェルコマンドは非常に簡単ですので、maven svnプラグインの使用にはあまり意味がありません。 – mykola

関連する問題