首页 > 其他分享 >maven

maven

时间:2023-04-21 14:35:47浏览次数:36  
标签:shop 依赖 模块 maven 版本 log4j

1. maven下载与安装

maven下载页面:https://maven.apache.org/download.cgi

或者你也可以选择之前的版本:

然后里面选择自己对应的版本下载即可:



指定本地仓库:
本地仓库默认值:用户家目录/.m2/repository。
如果想指定其他目录配置方式如下:

<!-- localRepository
| The path to the local repository maven will use to store artifacts.
|
| Default: ${user.home}/.m2/repository
<localRepository>/path/to/local/repo</localRepository>
-->
<localRepository>D:\software\maven-repository</localRepository>


配置阿里云提供的镜像仓库:
Maven 下载 jar 包默认访问境外的中央仓库,而国外网站速度很慢。改成阿里云提供的镜像仓库,访问国内网站,可以让 Maven 下载 jar 包的时候速度更快。配置的方式是:

  1. 将原有的例子配置注释掉
<!-- <mirror>
  <id>maven-default-http-blocker</id>
  <mirrorOf>external:http:*</mirrorOf>
  <name>Pseudo repository to mirror external repositories initially using HTTP.</name>
  <url>http://0.0.0.0/</url>
  <blocked>true</blocked>
</mirror> -->
  1. 加入自己的配置
<mirror>
	<id>nexus-aliyun</id>
	<mirrorOf>central</mirrorOf>
	<name>Nexus aliyun</name>
	<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>


配置基础 JDK 版本:
如果按照默认配置运行,Java 工程使用的默认 JDK 版本是 1.5,而我们熟悉和常用的是 JDK 1.8 版本。修改配置的方式是:将 profile 标签整个复制到 settings.xml 文件的 profiles 标签内。

<profile>
    <id>jdk-1.8</id>
    <activation>
        <activeByDefault>true</activeByDefault>
        <jdk>1.8</jdk>
    </activation>
    <properties>
        <maven.compiler.source>1.8</maven.compiler.source>
        <maven.compiler.target>1.8</maven.compiler.target>
       <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
    </properties>
</profile>


配置环境变量:
Maven 是一个用 Java 语言开发的程序,它必须基于 JDK 来运行,需要通过 JAVA_HOME 来找到 JDK 的安装位置。

通过 mvn -v 验证是否成功配置maven




2. 依赖传递

当A项目依赖B项目时,B项目的依赖会被传递到A项目。
当依赖中出现依赖冲突:

    若依赖中,同时引入了某个依赖的不同版本,后配置的覆盖先配置的,而不是按版本级别。
    当依赖中出现相同的资源时,层级越深,优先级越低。

    下图中,shop-user引入了  log4j:1.2.17  的版本,
           而shop-order也引入了log4j,且shop-order也引入了  log4j:1.2.12  。
           此时在shoo-order里面,log4j:1.2.17   这个版本相对来说属于另一个层级的比起   log4j:1.2.12   是更深的层级,所以优先级低,就不会采用它的版本。


    当资源在相同层级被依赖时,先配置的覆盖后配置的。

    下图中,shop-user引入了  log4j:1.2.17  的版本
           shop-order引入了  log4j:1.2.12  的版本
           而shop-product同时引入了他俩,先引入shop-order,后引入shop-user。 它们相对shop-product来说,都是属于第3层级的。按照先配置的覆盖后配置的。所以shop-order中的log4j版本生效。




3. 排除依赖




4. 依赖范围

https://www.bilibili.com/video/BV1Ah411S7ZE?p=13&vd_source=61b6fb4e547748656e36b17ee95125fb




5. 模块聚合

若多个模块之间具有依赖,其中一个模块更新了,重新install,其他模块是不知道的。

聚合,就是通过采用一个新模块(聚合模块),将它们都放到其下,在聚合模块进行编译,这样一来所有模块都编译。


下图,有../的原因是因为聚合模块和该模块是同一层级,所以加了../




6. 模块继承

通过在聚合模块来定义各种依赖版本,其他模块继承它。使用的时候,直接引入依赖,而不需要指定版本。




7. 属性定义




8. maven常用命令




9. 打包

boot使用这个插件可以将项目打包成一个可运行的jar,无需在目标服务器安装tomcat等

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
           <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>

标签:shop,依赖,模块,maven,版本,log4j
From: https://www.cnblogs.com/itlihao/p/17338896.html

相关文章

  • maven配置cloudera镜像源
    1、setting.xml配置<mirrors><!--阿里云仓库--><mirror><id>aliyun</id><mirrorOf>central</mirrorOf><name>aliyunmaven</name><url>http://ma......
  • maven
    原文链接maven三种仓库在Maven中,仓库指的是存放代码构建的一个位置。从分类上来说,Maven仓库有两种类型,分别是:本地仓库(Local)远程仓库(Remote)本地仓库,是存在于本地的一个仓库,它用来缓存下载的依赖包。这样就不用每次都通过网络去拉取依赖包了,提高了依赖拉取速度,减轻了仓库......
  • 解决Eclipse建立Maven项目后无法建立src/main/java资源文件夹的办法
    评:建立好一个Maven项目后,如果JavaResources资源文件下没有src/main/java文件夹,并且在手动创建这个文件时提示“已存在文件”。这说明,在这个项目配置中已经有了src/main/java这个文件夹,至于为什么不显示,我暂时也还不清楚,希望谁明白了跟我下,谢了。(已解决)[b]第二种方法:这是最......
  • 修改maven3项目的默认的编译级别(compile level)
    评:听闻maven的鼎鼎大名打算在最近的一个项目中试下爽,结果遇到了这个问题,虽对项目影响不大,但做技术刨根问题是必须的了,少废话。1.cmd命令建立web项目:mvnarchetype:generate-DgroupId=biz.yunduo-DartifactId=dts-DpackageName=dts-DarchetypeArtifactId=maven-archetype-we......
  • 保姆级本地maven安装配置步骤【Windows】
    一、前期准备1、首先需要安装并配置好本地JDK(WIN+R输入cmd,输入java-version如下图)2、下载maven到本地(链接Maven–DownloadApacheMaven)其他历史版本在这里找:Indexof/maven/maven-3(apache.org)二、解压缩并配置环境变量1、解压maven压缩包到一个不包含空格以及中文的路径下......
  • Maven导入阿里云公共仓库出错
    <mirror><id>aliyunmaven</id><mirrorOf>*</mirrorOf><name>阿里云公共仓库</name><url>https://maven.aliyun.com/repository/public</url></mirror>  ......
  • 8.Maven
    Maven一、课程目标Maven构建Maven多模块功能二、什么是mavenMaven是一个跨平台的项目管理工具,主要用于基于java平台的项目构建,依赖管理。如图为项目构建的过程。解决的项目的问题:1、如果有好几个项目,这好几个项目中,需要用到很多相同的jar包,能不能只建立一个仓库......
  • idea+maven配置scala环境报错
    (未解决)环境:Java1.7+scala2.10.6配置:创建maven工程,建立如下目录结构:pom.xml<?xmlversion="1.0"encoding="UTF-8"?><projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-in......
  • maven的pom文件中<relativePath/>的作用
    在<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.2.6.RELEASE</version> <relativePath/><!--lookupparentfromrepository-->&l......
  • maven : 无法将“maven”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查
    解决思路:1、打开CMD,测试Java、mvn等命令是否能够运行,如果不能运行那就是Java环境的问题,参考:Java初学教程进行配置;2、如果上一步没问题,右键IDEA,以管理员身份运行即可。......