2015-10-29 25 views
5

Sto utilizzando il plug-in Maven di Weblogic per distribuire la mia app sul server.WebLogic Plugin Maven ha troppe dipendenze?

Non sono sicuro di aver fatto un errore nella configurazione. Il primo build di maven del giorno richiede molto tempo (~ 30 minuti) perché il plugin sembra avere un'enorme quantità di dipendenze dallo stack weblogic completo e aggiorna i file maven-metadata.xml.

La mia configurazione è simile al seguente:

<plugin> 
    <groupId>com.oracle.weblogic</groupId> 
    <artifactId>weblogic-maven-plugin</artifactId> 
    <version>12.1.3-0-0</version> 
    <configuration> 
    <adminurl>t3://localhost:7001</adminurl> 
    <user>admin</user> 
    <password>pass</password> 
    <upload>true</upload> 
    <action>deploy</action> 
    <remote>false</remote> 
    <verbose>true</verbose> 
<source>${project.build.directory}/${project.build.finalName}.${project.packaging}</source> 
    <name>${project.build.finalName}</name> 
    <targets>myserver</targets> 
    </configuration> 
</plugin> 

Forse il nostro Nexus-repo è troppo lento. ;-)

Grazie in anticipo

+0

Ehi, sto incontrando lo stesso problema, hai trovato un solloution? –

risposta

4

ho trovato il problema e, auspicabilmente, alcuni buoni sollutions:

Nota: non sto usando Nexus-Repo ma Artifactory (ma immagino Maven si comporta lo stesso su entrambi).

Il problema si verifica a causa di una mancata configurazione del nostro repository. Maven controllerà sempre un aggiornamento (per impostazione predefinita) se le tue librerie si trovano in un repository di istantanee (definito in settings.xml).

Nel mio caso un repository virtuale per istantanee conteneva le librerie Oracle che hanno causato a Maven di trattarle come istantanee.

Ci sono alcuni modi per evitare questo:

  1. Se non siete in grado di modificare le impostazioni:

utilizzare il parametro "no-snapshot-updates" durante l'esecuzione di un obiettivo Maven:

mvn goal --no-snapshot-updates 
  1. Modificare i criteri di settings.xml

Aggiungere il seguente ai repository in cui si trovano le librerie Oracle:

<repository> 
    <id>my-oracle-repo</id> 
    <url>http://someurl</url> 
    <snapshots> 
     <enabled>false</enabled> 
    </snapshots> 
</repository> 
  1. Spostare le librerie Oracle lontano dal repository snapshot.

EDIT: Sembra che la sua non solo relative alle istantanee, ma anche alla "updatePolicy" che di default è impostata su "tutti i giorni". Cambia la tua settings.xml Maven come segue:

<repository> 
    <id>my-oracle-repo</id> 
    <url>http://someurl</url> 
    <snapshots> 
     <enabled>false</enabled> 
    </snapshots> 
    <releases> 
     <updatePolicy>never</updatePolicy> 
    </releases> 
</repository> 
Problemi correlati