Question

Je suis nouveau à la fois Maven et git et je voulais obtenir de l'aide dans la fixation d'un projet.

Y at-il un moyen de définir un but dans le pom push / pull de git au cours lié à une phase de Maven? Par exemple, puis-je tirer de git au cours de la phase d'installation Maven?

Si oui, comment cela peut-il être accompli? Je vous serais reconnaissant des exemples de code.

Était-ce utile?

La solution

Bonne idée ou non, voici comment vous pouvez faire votre commande ( traction clone de Github) en utilisant Maven. Demandez à votre look pom.xml comme ceci:

<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>

Utilisez ensuite mvn scm:checkout. Quand je courais cela, il a tiré le code dans le dossier target/engesoft. Il y a probablement une façon de le configurer pour le placer ailleurs. Consultez les pages suivantes:

Autres conseils

Au lieu de le faire lors de la construction Maven, utilisez un serveur CI comme Jenkins . Il fera le git pull avant d'exécuter Maven, afin que l'outil de construction peut se concentrer sur son principal objectif:. Code source bâtiment

Cela rend également plus simple pour vous de développer depuis son pull ne se produira que lorsque vous les voulez. Si vous tirez tout le temps, un autre développeur peut changer quelque chose et vous obtiendrez des erreurs que vous ne vous attendez pas.

scm. But de la caisse Vitor fait référence est un clone, pas un pull (différence énorme dans Git)

Je devais utiliser l'objectif exec de faire ce que vous décrivez. Je ne voulais pas faire un clone ensemble chaque fois qu'il y avait une accumulation. Au lieu de cela, j'utilise reset git --hard et tirer origine -f sortie:. De presse (via exec)

Si je trouve une meilleure façon (et il doit être l'un) je vais le poster ici.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top