2011-09-16 13 views
27

Come distribuire solo i sottomoduli del progetto? ho un progetto come;Come distribuire solo i sub-moduli usando maven deploy?

ProjectA 
- Submodule B 
- Submodlue C 
- Submodule D 

I moduli sono assemblate come vaso e viene distribuito a Maven repo.how può solamente il sub -moduli essere distribuito al repository maven e non il progetto principale?

risposta

0

È possibile configurare il Maven-deploy-plugin nella POM di un modulo per escluderlo dal Deploy:

<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

Hi Raghu ... couldnt farlo funzionare ... ha cercato di mettere il codice in pm genitore, ma dà lo stesso risultato – Nazia

4

È possibile utilizzare il technique described in my blog.

In questo caso, si potrebbe disattivare default-deploy (o ciò che il nome è) nella root 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> 

e quindi attivare per sottomoduli:

<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

Questo ha funzionato per me . Simile ad altre risposte tranne l'aggiunta di elementi plugin mancanti. Aggiungi al padre POM.

<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

È inoltre necessario riattivare l'implementazione per ogni sotto-modulo che si desidera distribuire con a false stenix

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

mettere questo nel modulo (s) (o pom.xml del modulo) che non si desidera distribuire.

+3

La proprietà di salto sarà 'true' in tutti i sottomoduli ... quindi non verrà implementato nulla .... – dokaspar

+0

@dokaspar imposta semplicemente la proprietà skip su' false' per tutti i sottomoduli che vuoi distribuire ... – lazlev

Problemi correlati