質問

私はMavenとGitの両方を初めて使用していて、プロジェクトの設定に助けを得たいと思っていました。

Mavenフェーズにリンクされている間にGitからプッシュ/プルするためのPOMの目標を定義する方法はありますか?たとえば、Mavenインストールフェーズ中にGitから引っ張ることはできますか?

はいの場合、どうすればそれを達成できますか?コードの例をありがとう。

役に立ちましたか?

解決

良いアイデアかどうか、ここであなたがチェックアウトを行う方法はあります(引く Githubからのクローン)Mavenを使用します。あなたのpom.xmlを次のようにしてもらう:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">

<modelVersion>4.0.0</modelVersion>
<groupId>br.com.javamagazine</groupId>
<artifactId>engesoft</artifactId>
<packaging>war</packaging>
<version>0.0.1-SNAPSHOT</version>
<name>engesoft Maven Webapp</name>
<url>http://maven.apache.org</url>

<scm>
    <connection>scm:git:git://github.com/vitorsouza/EngeSoft.git</connection>
    <developerConnection>scm:git:https://vitorsouza@github.com/vitorsouza/EngeSoft.git</developerConnection>
    <url>https://github.com/vitorsouza/EngeSoft</url>
</scm>
</project>

次に、使用します mvn scm:checkout. 。私がこれを実行したとき、それはコードをフォルダーに引っ張りました target/engesoft. 。おそらく、他の場所に配置するように構成する方法があります。次のページをご覧ください。

他のヒント

Mavenビルド中にこれを行う代わりに、CIサーバーを次のように使用します ジェンキンス. 。それはします git pull Mavenを実行する前に、ビルドツールは主な目的であるソースコードの構築に集中できます。

また、これはあなたが望むときにのみプルが起こるので、あなたが開発することをより簡単にします。常に引っ張ると、別の開発者が何かを変更でき、予想しないエラーが発生します。

SCM:チェックアウトゴール Vitorはクローンであり、プルではなくクローンです(Gitの大きな違い)。

私はあなたが説明していることをするためにexecの目標を使わなければなりませんでした。また、ビルドがあるたびにクローン全体を実行したくありませんでした。代わりに、私は使用します gitリセット - ハード その後 プル-fオリジンリリース:リリース (exec経由)。

私がより良い方法を見つけた場合(そしてそれが必要です)、ここに投稿します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top