maven使用总结

作者: 戴草帽的长虫 | 来源:发表于2019-05-04 20:16 被阅读8次

    在java开发中很多项目中会使用maven构建项目,在使用的过程中也遇到了不少的问题,现对maven的一些常用使用方法、设置以及易出现问题的地方做一个总结。

    一、基础配置

    • maven的默认配置文件为settings.xml,位置为
      /maven(maven安装目录)/conf/settings.xml
    • 配置maven本地仓库位置:
      windos中maven仓库的默认位置为
      ${user.home}/.m2/repository
      如果自定义maven仓库的位置,只需要在配置文件中加上
      <localRepository>E:\maven\repository</localRepository>
      这样通过maven引入的jar包就都会下载到我们设置的那个位置了。
    • 替换maven中央仓库:
      因为国内使用默认的中央仓库,下载速度会比较慢,所以我们可以配置国内的中央仓库,下载jar包的速度就会更快一些。
    <mirrors>
         <mirror>
            <id>alimaven</id>
            <name>aliyun maven</name>
            <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
            <mirrorOf>central</mirrorOf>
        </mirror>
        <mirror>
            <id>alimaven</id>
            <mirrorOf>central</mirrorOf>
            <name>aliyun maven</name>
            <url>http://maven.aliyun.com/nexus/content/repositories/central/</url>
        </mirror>
    
        <mirror>
            <id>ibiblio</id>
            <mirrorOf>central</mirrorOf>
            <name>Human Readable Name for this Mirror.</name>
            <url>http://mirrors.ibiblio.org/pub/mirrors/maven2/</url>
        </mirror>
        <mirror>
            <id>jboss-public-repository-group</id>
            <mirrorOf>central</mirrorOf>
            <name>JBoss Public Repository Group</name>
            <url>http://repository.jboss.org/nexus/content/groups/public</url>
        </mirror>
    
        <mirror>
            <id>central</id>
            <name>Maven Repository Switchboard</name>
            <url>http://repo1.maven.org/maven2/</url>
            <mirrorOf>central</mirrorOf>
        </mirror>
        <mirror>
            <id>repo2</id>
            <mirrorOf>central</mirrorOf>
            <name>Human Readable Name for this Mirror.</name>
            <url>http://repo2.maven.org/maven2/</url>
        </mirror>
      </mirrors>
    

    上面配置了多个maven中央仓库,一个<mirror></mirror>标签为一个仓库。我上面的配置首先会去阿里的中央仓库下载,当阿里的仓库无法连接时就会连接其它的仓库。

    • 指定jdk版本:
    <profiles>
        <profile>
            <id>jdk11</id>
            <activation>
                <jdk>11</jdk>
                <activeByDefault>true</activeByDefault>
            </activation>
            <properties>
                <maven.compiler.source>11</maven.compiler.source>
                <maven.compiler.target>11</maven.compiler.target>
                <maven.compiler.compilerVersion>11</maven.compiler.compilerVersion>
            </properties>
        </profile>
      </profiles>
    

    我使用的jdk11,这里将maven的jdk版本设置为11

    二、引入本地jar包

    有些jar包中央仓库没有,不能直接下载,这时候就需要自己将jar包引入到本地仓库

    • 通过命令引入
      mvn install:install-file -Dfile=ojdbc8.jar -DgroupId=ojdbc -DartifactId=ojdbc -Dversion=8.0 -Dpackaging=jar
      在待引入jar包同目录下执行上面命令,执行后出现BUILD SUCCESS,表示引入成功。
      然后pom.xml中添加如下依赖就可以将jar包引入项目了
    <dependency>
           <groupId>ojdbc</groupId>
           <artifactId>ojdbc</artifactId>
           <version>8.0</version>
    </dependency>
    

    通过命令引入jar包的位置为conf文件下的配置文件settings.xml中配置的仓库位置

    • 直接复制jar包的整体文件
      jar包文件
      mysql\mysql-connector-java\5.1.38为jar包的目录结构,项目添加依赖
    <dependency>
           <groupId>mysql</groupId>
           <artifactId>mysql-connector-java</artifactId>
           <version>5.1.38</version>
    </dependency>
    

    图中为我本地仓库文件下,mysql这个文件夹下的所有就是mysql驱动的整体文件。
    已经有了整体结构的jar包就可以直接复制到我们指定的本地仓库。有些jar包不能直接通过命令方式引入就可以通过这种方式引入,后面会说到的项目指定maven本地仓库也会用到这种方式。

    三、idea中配置maven

    idea中点File->Settings,然后在搜索框中搜索maven,maven设置就出来了。


    idea中maven设置
    • 在idea中我们主要配置三个地方,图中d:/apache-maven-3.6.0为我的maven本地安装目录,第二个红框中设置的是本项目使用的maven配置文件,第三个红框设置本地的maven仓库。设置好之后点应用就可以了。可能会存在没有刷新,配置不生效的问题,可以刷新一下项目、重新打开idea等方法。
    • 为了防止jar包冲突,可以不同的项目使用不同的配置文件及maven本地仓库。
    1. 新建配置文件,可以直接复制原来的配置文件,再修改文件名,文件位置无要求,建议在conf文件下建一个文件夹,然后新建的配置文件都放在那个文件下面。
    2. 新建配置文件中的本地仓库
    3. 在idea中配置项目使用的maven配置

    注意:使用命令引入本地jar包的位置为conf文件下settings.xml文件中配置的本地maven仓库,项目使用的仓库是其它仓库的话就要从引入jar包的那个库中将待引入的jar包的文件整体复制到项目使用的仓库中

    四、idea中使用maven的常用功能

    • 在pom.xml文件上面单机鼠标右键,然后选点Maven->Reimport刷新项目
    • 打jar包


      maven打jar包

      clean为清空jar包,install为打jar包,打好的jar包在项目的target下面

    五、maven常见问题解决办法

    1. jar包冲突,无法引入jar包
      解决办法:找到本地仓库中jar包的位置,删除jar包对应的文件,刷新项目,重新引入jar包。本地仓库的位置idea中在maven设置中可以看到。
    2. clean失败,在本地文件中删除target文件,再clean。

    相关文章

      网友评论

        本文标题:maven使用总结

        本文链接:https://www.haomeiwen.com/subject/jipfoqtx.html