Maven

1、maven配置

1、使用idea的话,要注意idea本身自带maven,想要使用自己安装的maven需要去设置:

局部设置: File–settings–Build,Execution,Deployment–Build Tools–Maven home path
全局设置:File–New Projects Setup–Settings for New Projects

默认设置:
default
配置成自己安装的maven:
在这里插入图片描述
2、单独安装自己的maven时,需要设置环境变量:

变量名:Path
变量值: %MAVEN_HOME%\bin

变量名:MAVEN_HOME
变量值:D:\eclipse\apache-maven-3.8.4

jdk版本和maven版本匹配:
Maven Releases History
java -version 查看jdk版本(java 1.8即java 8)
mvn --version 查看maven版本
PS:maven 3.8.4应该与java 8也是匹配的

3、配置本地仓库:

settings.xml文件: 用来设置maven参数的文件,maven的全局配置文件;

1)打开D:\eclipse\apache-maven-3.8.4\conf\settings.xml(全局配置文件);

2)添加设置本地仓库:
将:

  <localRepository>
  ${user.home}/.m2/repository 
  </localRepository>`

改为:

  <localRepository>
   D:\maven\.m2\repository  //自己创建的路径
  </localRepository>`

3)添加镜像mirror–阿里镜像:

<mirror>
    <id>nexus-aliyun</id>
    <mirrorOf>central</mirrorOf>
    <name>Nexus aliyun</name>
    <url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>

2、maven java项目创建

File—new—project—maven—Create from archetype:
选择:maven-archetype-quickstart;

如果想要加快项目创建的时候jar包的导入速度可以:
在这里插入图片描述

添加一个属性:
key:archetypeCatalog
value: internal
其他方法参考:IntelliJ IDEA创建Maven项目导入jar包速度慢的解决方法

3、maven编译

(1)新建的maven项目直接compile时,出现warrings:
Warrings

上面显示maven的jetty plugin(插件)找不到;
配置包括全局配置(settings.xml文件)和pom.xml配置;
查看pom.xml会发现:
在这里插入图片描述
变红了说明存在问题!删除这一块就不会有Warrings了,也进一步说明了这个插件找不到是问题所在。

解决:为此插件加上版本就可以了;

<version>9.4</version>  //jdk version ---1.8

jetty和jdk版本要相匹配: jetty各个版本对应的jdk版本

2)在这里插入图片描述
解决:
只需要在pom.xml文件中的<properties> </properties> 里加入

<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

		<!--指定编译器的版本仅仅是推荐,而不是强制使用此版本,推荐使用1.8		-->
<maven.compiler.source>1.8</maven.compiler.source> <!--	源文件的maven编译器的版本-->
<maven.compiler.target>1.8</maven.compiler.target> <!--	编译时的版本-->

PS:Pom.xml文件是当下maven项目的配置文件,里面的配置都只是临时的(只在当前项目下);而settings.xml文件是全局的适合所有的maven项目。

4、maven项目打包

将项目打包的目的是,当其他项目需要使用此项目的时候直接导入此jar包即可(添加依赖)或者进行发布;

maven项目包括:普通的java项目和Web项目;

5、Maven Webapp项目

File–new–project–maven—Create from archetype;
选择Webapp如图;

5.1、pom.xml的配置

在这里插入图片描述

1、UTF-8下的compiler版本改成1.8;(新建时默认为1.7)
2、Junit依赖的版本改成4.12;然后会自动加载4.12版本的Junit放到本地仓库D:\maven.m2\repository下;

在这里插入图片描述

<build></build> 里的<pluginManagement></pluginManagement>删除掉;

然后在<build></build> 里加入<plugins></plugins> ;
在这里插入图片描述

添加jetty插件和tomcat插件:
在这里插入图片描述
注意: 刚写的时候显示是红色的,这是因为还没有加载到本地仓库中(类似于依赖的加载,都是自动根据版本进行自动下载);
加入完成后点击 M进行加载;若加载完成后仍是红色,说明加载失败(可能是版本错误,或者插件名称拼写错误等);
在这里插入图片描述

jetty-plugin:

  <plugin>
    <groupId>org.mortbay.jetty</groupId>
    <artifactId>maven-jetty-plugin</artifactId>
    <version>6.1.4</version>   <!--jetty version -->
    <!--jetty插件的配置-->
    <configuration>
      <scanIntervalSeconds>10</scanIntervalSeconds><!--热部署,每10s扫描一次 -->
      <contextPath>/test</contextPath>  <!--指明当前项目的站点名 -->
      <connectors>
        <connector implementation="org.mortbay.jetty.nio.SelectionChannelConnector">
          <port>9090</port><!-- 设置启动的端口名-->
        </connector>
      </connectors>
    </configuration>
  </plugin>

tomcat plugin:

  <!--tomcat plugin-->
      <plugin>
        <groupId>org.apache.tomcat.maven</groupId>
        <artifactId>tomcat7-maven-plugin</artifactId>
        <version>2.2</version><!-- tomcat version-->
        <!--tomcat plugin configuration-->
        <configuration>
          <server>tomcat7</server><!--服务器名称-->
          <port>8080</port><!--启动端口,默认为8080-->
          <path>/test</path><!--项目的站点名,即对外访问路径-->
          <uriEncoding>UTF-8</uriEncoding><!--字符集编码,默认为ISO-8859-1-->
          <contextReloadable>true</contextReloadable>
        </configuration>
      </plugin>

PS:
maven插件
tomcat的maven插件

5.2 启动Webapp项目

指定端口为9090并启动jetty:
在这里插入图片描述
还可以在pom.xml文件中jetty插件下指明端口,然后执行:
在这里插入图片描述

访问路径:localhost:port/contextpath/index.jsp
在这里插入图片描述

tomcat插件与jetty插件的区别

6、maven repository

Maven Central Repository Search

MavenRepository

maven仓库介绍:

maven仓库包括了本地仓库、中央仓库、私服、公共仓库;

本地仓库: 即maven项目本地的仓库,一般不放在C盘,项目下载的依赖(jar包等)或插件都放在本地仓库;
D:\maven.m2\repository //自己创建的路径

中央仓库: maven默认的一个远程仓库;maven自带的jar包中所带的pom.xml中定义了中央仓库的位置;但是中央仓库访问量大,一般会比较慢;

私服: 处于局域网中的远程仓库,其内容是由从外网中下载或由本地仓库上传而建立起来的,以供局域网内的maven项目使用;

公共仓库: 常用的是阿里云仓库;

项目加载依赖或者插件的过程:
1、先根据pom.xml文件里的描述去本地仓库找,若能找到则直接用;

2、若本地仓库没有且setting.xml文件里已经加入了公共仓库,则去阿里云仓库下载,若存在私服则去私服下载到本地仓库;

3、若阿里云仓库或者私服没有,则去中央仓库下载到本地。

PS: 有时在pom.xml文件中刚写完依赖或插件plugin时是处于红色,而加载完之后红色会消失,若没有消失则说明依赖或插件的描述存在问题;
若要加入依赖或插件时候不确定如何进行描述可以到Maven Central Repository Search或MavenRepository去查询;

拓展

maven多模块
maven项目打包
maven依赖
项目构建工具——Gradle与maven

Maven+IDE&&Spring项目

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值