在 pom.xml 添加依赖包的时候,有时候会提示无法从 http://repo1.maven.org/maven2/ 获取的情况,这时可配置个本地仓库;

从网上下载 maven 仓库网站源码包 Nexus 的 war 包,放到 Tomcat 安装目录的 webapps 下,建议可下载个 单机版的 tomcat ,配置个未使用 端口,这样可与开发环境一起使用;

启动 Tomcat ,可能要稍微等活,Tomcat 输入日志显示可能需要下载 一些插件,运行后打开网站: http://127.0.0.1:8090/nexus, 显示如下(查询了 tomcat):

maven强制刷新仓库 maven强制更新本地仓库_maven

网站正常运行,我们就正常使用我们建的 nexus 本地仓库了;

打开 pom.xml 配置我们要使用的 仓库:



<!-- 创建maven后,提示org.apache.maven无法解析, 类似说明无法从 http://repo1.maven.org/maven2/ 获取, 需要配置本地仓库 -->
    <repositories>
        <repository>
            <id>project-local-maven</id>
            <name>project localmaven</name>
            <url>http://127.0.0.1:8090/nexus/content/repositories/mirrors/</url>
            <releases>
                <enabled>true</enabled>
            </releases>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
        </repository>
    </repositories>

    <pluginRepositories>
        <pluginRepository>
            <id>project-local-maven</id>
            <name>project localmaven</name>
            <url>http://127.0.0.1:8090/nexus/content/repositories/mirrors/</url>
            <releases>
                <enabled>true</enabled>
            </releases>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
        </pluginRepository>
    </pluginRepositories>
    <!--运行 mvn deploy 时上传构件到本地仓库 -->
    <distributionManagement>
        <repository>
            <id>nexus-releases</id>
            <name>Nexus Release Repository</name>
            <url>http://127.0.0.1:8090/nexus/content/repositories/releases/</url>
        </repository>
        <snapshotRepository>
            <id>nexus-snapshots</id>
            <name>Nexus Snapshot Repository</name>
            <url>http://127.0.0.1:8090/nexus/content/repositories/snapshots/</url>
        </snapshotRepository>
    </distributionManagement>



我把上面的语句放在 </properties> 节点之后;

以后有要在 pom.xml 添加新的依赖包,就会从这里配置的仓库下去搜索下载了;

建立本的 nexus 本地仓库网站,还有好处就是 你可以把 自定义的一些 .jar 包加入到这里:

首先登陆 nexus,默认的用户名及密码为 admin 和 admin123; 通过 网页界面右上角有个 "Log In" 的按钮,登陆成功后,左侧栏会多加载几块主菜单出来;

maven强制刷新仓库 maven强制更新本地仓库_java_02

点击 Views/Respositories 下的 Repositories 的界面:

maven强制刷新仓库 maven强制更新本地仓库_xml_03

在右侧主界面的 Repository 仓库列表,选择一个仓库,比如:Releases,点击该仓库,列表出现 Releases 的版块,我们要上传配置自定义的 jar 依赖信息,就点击 Artiface Upload 标签; 

maven强制刷新仓库 maven强制更新本地仓库_java_04

可以从 GAV Definition 知道有两种小区别的方式,如果是 pom 方式的,是已经配置好的 jar 信息,如果是 GAV Parameters 是需要自己配置 Group、Artiface、version、packaging这些信息的.

Select Artifact(s) to Upload 是上传 jar 文件的区域,点击该区域下的 Add Artiface 按钮,添加上传的 jar 至下面的 Artifacts 框内;

最后点击下面的 "Upload Artiface(s)" 按钮保存该依赖的信息跟文件;

比如我们添加个 artiface 为 abc.jar 的依赖包;

Group: abcjar

Artiface: abc.jar

version:1.0.0

packaging: jar

通过 Select Artifact(s) to Upload 选择本地你想要添加的 xxx.jar 文件;

maven强制刷新仓库 maven强制更新本地仓库_maven强制刷新仓库_05

添加 Add Artiface 按钮:

maven强制刷新仓库 maven强制更新本地仓库_java_06

最后点击 "Upload Artiface(s)" 保存 自定义依赖包 信息;

这时就可以通过 group 或 Artiface 信息来查询我们添加的 自定义包了; 通过右侧栏的 Artiface Search 搜索: abcjar ,出现右侧界面:

maven强制刷新仓库 maven强制更新本地仓库_maven强制刷新仓库_07

我们就可以直接右侧 XML 的内容直接贴到 pom.xml 里使用了;