2011-09-16 12 views
27

¿Cómo implemento solo los submódulos del proyecto? tengo un proyecto como;¿Cómo implementar solo los submódulos usando maven deploy?

ProjectA 
- Submodule B 
- Submodlue C 
- Submodule D 

Los submódulos se empaquetan como frasco y se despliega a maven repo.how puede sólo el sub -modules desplegarse en el repositorio de Maven y no el principal proyecto?

Respuesta

0

Puede configurar el experto de implementar-plugin en el POM de un módulo para excluirla del despliegue:

<build> 
    <plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-deploy-plugin</artifactId> 
    <version>2.4</version> 
    <configuration> 
     <skip>true</skip> 
    </configuration> 
    </plugin> 
    ... 
</build> 
+0

Hola, Raghu ... no pude hacerlo funcionar ... intenté poner el código en el pm padre, pero da el mismo resultado – Nazia

4

Puede utilizar el technique described in my blog.

En este caso, te inhabilita default-deploy (o lo que es el nombre) en la raíz pom.xml:

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-deploy-plugin</artifactId> 
    <executions> 
     <execution> 
      <id>default-deploy</id> 
      <phase>none</phase> 
     </execution> 
    </executions> 
</plugin> 

Y luego habilitarlo para submódulos:

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-deploy-plugin</artifactId> 
    <executions> 
     <execution> 
      <id>default-deploy</id> 
      <phase>deploy</phase> 
     </execution> 
    </executions> 
</plugin> 
7

Esto funcionó para mí . Similar a otras respuestas, excepto el elemento agregado de complementos faltantes. Agregar al POM principal.

<build> 
    <plugins> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-deploy-plugin</artifactId> 
      <version>2.4</version> 
      <configuration> 
       <skip>true</skip> 
      </configuration> 
     </plugin> 
    </plugins> 
</build> 
+2

También necesitas volver a habilitar el despliegue para cada submódulo con el que quieras implementar a falso stenix

27
<properties> 
    <maven.deploy.skip>true</maven.deploy.skip> 
</properties> 

poner esto en el módulo (s) (o pom.xml del módulo) que no desea implementar.

+3

La propiedad de omisión será 'verdadera' en todos los submódulos ... por lo que no se desplegará nada .... – dokaspar

+0

@dokaspar simplemente configure la propiedad de omisión como 'falsa' para todos los submódulos que desee implementar ... – lazlev

Cuestiones relacionadas