目录

什么是 Maven

安装

解压后需要配置环境变量

在path新增路径

 验证maven安装成功:

Win+R打开cmd,输入mvn -v

 在配置文件中设置本地仓库路径

 maven仓库的种类和关系编辑

 maven目录结构编辑

 *maven的生命周期

 maven概念模型图

使用maven骨架创建一个新项目

 使用骨架创建maven的web工程

编辑 补齐文件

main右键→新建→目录→java→选中java右键→标记为源码根

 创建一个 Servlet

文件→项目结构→Libraries→+→java→tomcat所在目录→lib→servlet-api.jar  

问题及解决

 出错1:编辑

出错2:有网址输出,但是报错404编辑

出错3:

出错4:运行的时候发现点了Tomcat的run之后运行不输出网址

出错5:提示Plugin ‘org.apache.tomcat.maven:tomcat7-maven-plugin:2.2’ not found

添加动态模板:


什么是 Maven

Maven 是一个项目管理工具,它包含了一个项目对象模型 (POMProject Object Model),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管理系统(Dependency Management System),和用来运行定义在生命周期阶段(phase)中插件(plugin)目标(goal)的逻辑。

安装

解压后需要配置环境变量

MAVEN_HOME

F:\apache-maven-3.5.2

path配置maven后还是无法识别mvn_tomcat

在path新增路径

%MAVEN_HOME%\bin

path配置maven后还是无法识别mvn_java_02

 验证maven安装成功:

Win+R打开cmd,输入mvn -v

path配置maven后还是无法识别mvn_maven_03

 在配置文件中设置本地仓库路径

path配置maven后还是无法识别mvn_java_04

 maven仓库的种类和关系

path配置maven后还是无法识别mvn_maven_05

 maven目录结构

path配置maven后还是无法识别mvn_tomcat_06

 *maven的生命周期

path配置maven后还是无法识别mvn_tomcat_07

 maven概念模型图

path配置maven后还是无法识别mvn_#maven_08

 idea集成maven插件

path配置maven后还是无法识别mvn_java_09

path配置maven后还是无法识别mvn_#maven_10

每次创建项目时, IDEA 要使用插件进行创建,这些插件当你创建新的项目时,它每次都会去中央仓库下载,这样 使得创建比较慢。应该创建时,让它找本地仓库中的插件进行创建项目。

在Runner设置

-DarchetypeCatalog=internal 

path配置maven后还是无法识别mvn_java_11

使用maven骨架创建一个新项目

path配置maven后还是无法识别mvn_#maven_12

 

path配置maven后还是无法识别mvn_maven_13

 

path配置maven后还是无法识别mvn_#学习_14

path配置maven后还是无法识别mvn_tomcat_15

手动添加 src/main/java 目录,如下图右键 main 文件夹→Directory→Sources Root

path配置maven后还是无法识别mvn_#maven_16

 不使用maven框架创建一个新项目只需要不勾选使用模板即可(推荐) 

path配置maven后还是无法识别mvn_#maven_17

path配置maven后还是无法识别mvn_java_18

 使用骨架创建maven的web工程

path配置maven后还是无法识别mvn_maven_19

 

path配置maven后还是无法识别mvn_maven_20

 

path配置maven后还是无法识别mvn_#学习_21

path配置maven后还是无法识别mvn_maven_22

 补齐文件

main右键→新建→目录→java→选中java右键→标记为源码根

path配置maven后还是无法识别mvn_maven_23

 

path配置maven后还是无法识别mvn_java_24

创建一个 Servlet

一开始新建没有servlet

path配置maven后还是无法识别mvn_#maven_25

 于是在

文件→项目结构→Libraries→+→java→tomcat所在目录→lib→servlet-api.jar  

点击应用

配置文件: 

path配置maven后还是无法识别mvn_#maven_26

执行

path配置maven后还是无法识别mvn_#学习_27

 运行tomcat:run

path配置maven后还是无法识别mvn_#maven_28

问题及解决

 出错1:

path配置maven后还是无法识别mvn_tomcat_29

 原来是mwn tomcat:run

path配置maven后还是无法识别mvn_maven_30

出错2:有网址输出,但是报错404

path配置maven后还是无法识别mvn_java_31

path配置maven后还是无法识别mvn_maven_32

 java.lang.reflect.InvocationTargetException

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

错误原因:一直报反射异常,百度了好久,没有找到原因,直到用idea启动,redis配置文件报错,redis没有启动。新手犯的错误比较低级

解决方法:启动redis

重新测试:

出错3:

Failed to execute goal org.codehaus.mojo:tomcat-maven-plugin:1.1:run (default-cli) on project maven_web: Could not start Tomcat

  可能是这个包跟 tomcat 插件中的包冲突导致的。对上面两个依赖包添加限定后,项目应该可以正常启动:<scope>provided</scope>

path配置maven后还是无法识别mvn_java_33


还是无效

最后发现是jar包版本太低了,和配置不匹配,重新配置对应版本即可

出错4:运行的时候发现点了Tomcat的run之后运行不输出网址

配置了Tomcat,但是就是运行不起来,跑一下就停了

path配置maven后还是无法识别mvn_#maven_34

也没有任何报错,但是我跟别的能运行的tomcat的输出台对比了一下,发现多了一行输出:Skipping non-war project

解决办法:在pom.xml中加入

<packaging>war</packaging>

path配置maven后还是无法识别mvn_tomcat_35

 然后就有网址出来了

path配置maven后还是无法识别mvn_tomcat_36

 更改了配置文件,因为之前的文件路径未被识别

path配置maven后还是无法识别mvn_maven_37

 与此同时我注意到输出的网址localhost输出的port是8080,可是我在tomcat设置的明明是80,看来需要将配置文件的port也改一下

<!--新加的-->
        <plugin>
          <artifactId>org.apache.tomcat.maven</artifactId>
          <version>tomcat8-maven-plugin</version>
<!--          <version>3.1.0</version>-->
          <configuration>
            <port>80</port>
          </configuration>
        </plugin>

然并卵,

出错5:提示Plugin ‘org.apache.tomcat.maven:tomcat7-maven-plugin:2.2’ not found

解决方法:

在Setting中勾选Use plugin registry

然后点击File 🡒 Invalidate Caches,点击Invalidate and Restart

path配置maven后还是无法识别mvn_maven_38

更改配置pom.xml

<plugin>
  <groupId>org.apache.tomcat.maven</groupId>
  <artifactId>tomcat7-maven-plugin</artifactId>
  <version>2.2</version>
  <configuration>
     <port>8888</port>
  </configuration>
</plugin>

tomcat7启动成功啦!

path配置maven后还是无法识别mvn_#学习_39

添加动态模板:

默认创建组就第一个,第二个是自定义组

path配置maven后还是无法识别mvn_tomcat_40

给新建的组命名

 

path配置maven后还是无法识别mvn_tomcat_41

选中新建的组,添加模板

path配置maven后还是无法识别mvn_tomcat_42

 给模板命名为tomcat7,将配置的模板粘贴到“模板文本”框内,设置生效范围→XML

path配置maven后还是无法识别mvn_maven_43

配置jdk插件

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <configuration>
        <target>1.8</target>
        <source>1.8</source>
        <encoding>UTF-8</encoding>
    </configuration>
</plugin>

 同理也可以给jdk配置一个模板

path配置maven后还是无法识别mvn_#maven_44