您的位置:

MVN仓库相关

一、MVN仓库概述

MVN仓库全称为Maven Repository,是Maven中用于存储和管理Java第三方库的仓库。Maven仓库包括本地仓库和中央仓库两类,在中央仓库中又包含所有公开发布的第三方库和插件,同时也支持私有仓库的配置。MVN仓库实现了依赖管理、构建和部署等功能,大大提高了软件开发的效率。

二、MVN仓库官网

Maven官方提供了中央仓库和一个用于搜索中央仓库和其他仓库中的库的网站---https://mvnrepository.com/。 使用mvnrepository能够搜索并找到Maven官方中央仓库内的Java类库,获取Java类库的group、artifactid等基本信息,同时也可以通过mvnrepository搜索到其他用户自定义的公共仓库。

//搜索druid连接池的库
group: com.alibaba
artifactid: druid

同时,mvnrepository网站也支持直接获取Maven库的依赖信息,以及相关依赖的传递依赖(transitive dependencies)信息。

三、MVN仓库的漏洞数据准吗

Maven库的漏洞是一种已知的漏洞,用于发现潜在的安全问题和软件缺陷。但是,如何判断Maven公共库仓库的漏洞库数据是否可靠? 当前,Security Response的漏洞编号CVE已成为全球公认的标准,用于唯一标识一个漏洞。只有提交官方CVE编号的漏洞数据才是可信的。例如,使用Apache Security的漏洞数据来保证Maven库的安全性。

四、MVN仓库地址

4.1 Maven库地址

官方Maven库地址: http://repo.maven.apache.org/maven2/

4.2 maven的中央仓库地址

maven中央库地址在pom.xml文件中添加如下内容:

<repositories>   
    <repository>   
        <id>central</id>   
        <url>http://repo.maven.apache.org/maven2</url>   
    </repository>   
</repositories>  

同时, 使用maven dependency plugin 命令下载jar包也会从中央仓库下载。

五、MVN仓库地址配置

在Maven执行构建的时候需要从仓库中下载依赖项,为了更好的管理Maven仓库地址,我们可以进行配置。

Maven的所有配置信息都保存在Maven的安装目录下的conf/settings.xml中,我们可以在其中增加镜像配置。比如,在公司内部,在Maven Central中搜索文件通常比较慢,因此,可以配置Maven私有仓库来加速构建过程(中央仓库慢的可以使用镜像),也可以在settings.xml文件中设置一个镜像来加速。

<mirrors>
    <mirror>
        <id>releases</id>
        <url>http://maven.xxx.com:8080/repository/maven-releases/</url>
        <mirrorOf>central</mirrorOf>
    </mirror>
    <mirror>
        <id>snapshots</id>
        <url>http://maven.xxx.com:8080/repository/maven-snapshots/</url>
        <mirrorOf>central</mirrorOf>   
    </mirror>
</mirrors>

六、MVN仓库地址Linux

在Linux系统下,Maven的配置文件仍是settings.xml,一般安装在maven /conf/目录下。如使用CentOs系统,可以在一个全新的系统上,安装maven,执行相关命令,以及环境变量等等配置,如下:

yum install maven -y
vim /etc/profile
export MAVEN_HOME=/usr/share/maven
export PATH=${MAVEN_HOME}/bin:${PATH}
source /etc/profile
mvn -v

七、MVN仓库怎么上传插件

Maven插件放在Maven项目的仓库目录中,如果没有专门的Maven项目仓库,我们需要手动创建。建议创建一个名为repository的文件夹,在pom.xml文件中进行配置,如下:

<build>  
     <plugins>  
          <plugin> 
              <groupId>org.apache.maven.plugins</groupId>  
              <artifactId>maven-deploy-plugin</artifactId>  
              <version>2.5</version>  
              <executions>  
                 <execution>  
                      <id>deploy-file</id>  
                      <phase>deploy</phase>  
                      <goals>  
                           <goal>deploy-file</goal>  
                      </goals>  
                      <configuration>  
                              <groupId>groupId</groupId>  
                              <artifactId>artifactId</artifactId>  
                              <version>version</version>  
                              <packaging>jar</packaging>  
                              <file>target/artifactId-version.jar</file>  
                              <repositoryId>repository</repositoryId>  
                              <url>父pom中的distributionManagement中repository的url</url>  
                      </configuration>  
                   </execution>  
              </executions>  
          </plugin>  
     </plugins>  
</build> 

然后执行mvn deploy命令,插件就被上传到仓库中了。

八、MVN仓库引入外部jar包

在Maven项目的pom.xml中引入外部jar包,我们需要使用maven-install-plugin来将其安装到本地仓库,如下:

<plugin>  
    <groupId>org.apache.maven.plugins</groupId>  
    <artifactId>maven-install-plugin</artifactId>  
    <version>2.4</version>  
    <executions>  
        <execution>  
            <id>install-libs</id>  
            <phase>clean</phase>  
            <goals>  
                <goal>install-file</goal>  
            </goals>  
            <configuration>  
                <groupId>com.example</groupId>  
                <artifactId>example</artifactId>  
                <version>1.0.0</version>  
                <packaging>jar</packaging>  
                <file>/path/to/your/example.jar</file>  
                <generatePom>true</generatePom>  
            </configuration>  
        </execution>  
    </executions>  
</plugin> 

九、MVN仓库怎么上传插件文件

在Maven项目的pom.xml文件中添加如下内容,它允许发布Maven插件,并且使用"deploy-file"命令上传插件文件到仓库:

<build>  
    <extensions>  
        <extension>  
            <groupId>org.apache.maven.wagon</groupId>  
            <artifactId>wagon-ftp</artifactId>  
            <version>2.0</version>  
        </extension>  
    </extensions>  
    <plugins>  
        <plugin>  
            <groupId>org.apache.maven.plugins</groupId>  
            <artifactId>maven-deploy-plugin</artifactId>  
            <version>2.6</version>  
            <executions>  
                <execution>  
                    <id>default-deploy</id>  
                    <phase>deploy</phase>  
                    <goals>  
                        <goal>deploy</goal>  
                    </goals>  
                </execution>  
            </executions>  
        </plugin>  
    </plugins>  
</build>  

通过这个插件,可以在仓库中安装插件文件,使用“mvn deploy: deploy-file”命令上传插件文件,然后将其拷贝到本地的Maven仓库或者其他地方。

十、本地MVN仓库文件移动后不生效

每个Maven项目在执行命令时,都会在默认的/lib目录中搜索依赖项,这些依赖项必须已经在Maven仓库中。 如果本地仓库路径发生改变,执行mvn clean install命令时,可能会导致本地仓库中没有相应的依赖项。解决此问题的方法是,将settings.xml文件中的<localRepository>标记更新为正确的路径,或者重新安装所有依赖项。正确的<localRepository>路径需要是正确的绝对路径。

十一、MVN查看本地仓库

使用命令行,输入以下mvn命令即可查看本地仓库:

mvn help:system

执行结果中的localRepository属性就是我们所需要查看的本地仓库地址。