2012-11-21 2 views
10

Ho bisogno di avere un repository di maven completamente offline a causa di alcune limitazioni. In base allo http://cwiki.apache.org/confluence/display/MAVEN/PluginResolutionException, vengono cercati solo i plug-in <pluginRepositories>. Quindi mi chiedo come configurare Maven per cercare i plugin in un file system locale. Ho provato a utilizzare il prefisso "file: //" quando si imposta <url> ma non funziona.Come configurare il repository di plugin locale 3 di maven

DEBUG] Verifying availability of /home/dsun/.m2/repository/org/apache/karaf/tooling/features-maven-plugin/2.3.0/features-maven-plugin-2.3.0.jar from [central (http://repo1.maven.org/maven2, releases=true, snapshots=false, managed=false)] 
[ERROR] Plugin org.apache.karaf.tooling:features-maven-plugin:2.3.0 or one of its dependencies could not be resolved: The repository system is offline but the artifact org.apache.karaf.tooling:features-maven-plugin:jar:2.3.0 is not available in the local repository. -> [Help 1] 
org.apache.maven.plugin.PluginResolutionException: Plugin org.apache.karaf.tooling:features-maven-plugin:2.3.0 or one of its dependencies could not be resolved: The repository system is offline but the artifact org.apache.karaf.tooling:features-maven-plugin:jar:2.3.0 is not available in the local repository. 

[email protected]:> ls /home/dsun/.m2/repository/org/apache/karaf/tooling/features-maven-plugin/2.3.0/features-maven-plugin-2.3.0.jar 
/home/dsun/.m2/repository/org/apache/karaf/tooling/features-maven-plugin/2.3.0/features-maven-plugin-2.3.0.jar 

Il settings.xml

<settings>  
<offline>true</offline> 
    <profiles> 
    <profile> 
    <id>local</id> 
    <pluginRepositories> 
     <pluginRepository> 
     <id>central</id> 
     <url>file://${env.HOME}/.m2/repository</url> 
     <releases> 
     <enabled>true</enabled> 
     </releases> 
     <snapshots> 
     <enabled>true</enabled> 
     </snapshots> 
    </pluginRepository> 
    </pluginRepositories> 
    </profile> 
</profiles> 
<activeProfiles> 
    <activeProfile>local</activeProfile> 
</activeProfiles> 

<localRepository>${env.HOME}/.m2/repository</localRepository> 

+1

Non sono sicuro, ma forse questo post sarà utile per te: http://stackoverflow.com/questions/5141211/maven-without-remote-repository –

+0

La tua configurazione potrebbe non funzionare perché stai definendo il repository di origine è lo stesso del repository di destinazione (.m2/repository). È necessario disporre di una cinghia di avvio iniziale da cui iniziare e dopo che tutte le build sono funzionanti, è possibile eseguire l'installazione. – khmarbaise

+0

hi khmarbaise, potresti spiegarlo in dettaglio? cosa intendi con "repository sorgente"? Il plugin necessario è già nel mio repository locale. E ho provato a rimuovere tutte le righe in settings.xml tranne il , ma non funziona. – SunLiWei

risposta

4

Da Maven 3,1-alfa-1, la linea di comando -llr/--legacy-local-repository o sistema proprietà -Dmaven.legacyLocalRepo=true shoul d help

+0

Un bel consiglio per trovare i plugin Maven in un repository locale (file system);) –