如何设置maven 3本地插件库

Sun*_*Wei 10 java build-automation maven-3 maven

由于一些限制,我需要一个完全脱机的maven存储库.根据http://cwiki.apache.org/confluence/display/MAVEN/PluginResolutionException,仅<pluginRepositories>搜索插件.所以我想知道如何配置maven来查找本地文件系统中的插件.我在设置时尝试使用"file://"前缀,<url>但它不起作用.

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.

dsun@localhost:> 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
Run Code Online (Sandbox Code Playgroud)

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>
Run Code Online (Sandbox Code Playgroud)

Sun*_*Wei 8

最后,我发现了问题,插件目录中有一个名为_maven.repositories的文件,删除文件后,一切正常!

更多详细信息,请参阅以下链接:


use*_*316 6

从Maven 3.1-alpha-1开始,命令行选项-llr/--legacy-local-repository 或系统属性-Dmaven.legacyLocalRepo=true 应该有所帮助