maven基础笔记整理(idea版)

maven基础篇(idea版)
p1-p11 打卡 2020.06.10
p12-最后 打卡 2020.06.11
除最后数据库链接没有整理笔记,之外都整理了,看看该去学别的了hhh

01_自动化构建工具
1、目前掌握的技术
maven基础笔记整理(idea版)_第1张图片

2、目前的技术在开发中存在的问题
①一个项目就是一个工程
②项目中需要的jar包必须手动“复制”、“粘贴”到WEB-INF/lib中
③jar包需要别人替我们准备好,或到官网下载
④一个jar包依赖的其他jar包需要自己手动加入到项目中

Maven优势
依赖管理:maven工程对jar包的管理过程
maven基础笔记整理(idea版)_第2张图片
maven基础笔记整理(idea版)_第3张图片

MAVEN标准目录结构
maven基础笔记整理(idea版)_第4张图片

MAVEN常用命令
mvn clean
mvn compile
mvn test
mvn package 打包war包
mvn install 安装到了本地仓库D:\maven_repository\cn\itcast\maven目录下

maven生命周期
maven基础笔记整理(idea版)_第5张图片

maven概念模型
maven基础笔记整理(idea版)_第6张图片

idea中maven配置
maven基础笔记整理(idea版)_第7张图片
配置了这个maven在不联网时也可使用,如果不配置的话,maven必须联网使用

-DarchetypeCatalog=internal

maven基础笔记整理(idea版)_第8张图片

使用骨架创建maven的java工程
IDEA版本:2020.1
Maven版本:3.6.3
勾选create from archetype就可以使用下方列出的idea中的骨架
maven基础笔记整理(idea版)_第9张图片
选择quickstart,quickstart就是idea为maven提供的java骨架
maven基础笔记整理(idea版)_第10张图片
maven基础笔记整理(idea版)_第11张图片
在运行构建好的maven新文件中出现以下报错(当时就复制了这个搜索错误)

Error:(3, 24) java: 程序包org.junit不存在

打开project structure->libraries->java->然后寻找idea的安装目录下的lib,我直接全部导入了然后再次运行app.java就没有报错了
maven基础笔记整理(idea版)_第12张图片
创建resources目录
在main目录下右键创建目录
idea 2020.1版本中创建resources目录直接创建为资源目录
如果不是先创建resources右键->mark directory as -> resources root
maven基础笔记整理(idea版)_第13张图片

另附阿里镜像文件(下载速度能快一些
配置在apache-maven-3.6.3->conf->settings.xml->mirrors标签内

<mirror> 
	<id>alimaven</id> 
	<mirrorOf>central</mirrorOf> 
	<name>aliyun maven</name>
	<url>http://maven.aliyun.com/nexus/content/repositories/central/</url> 
</mirror>

不使用骨架创建maven项目
maven基础笔记整理(idea版)_第14张图片
maven基础笔记整理(idea版)_第15张图片
没有像选择骨架那样生成一个java文件,但是大致的框架还是有的
maven基础笔记整理(idea版)_第16张图片
创建maven的web工程
maven基础笔记整理(idea版)_第17张图片
在第一次新建项目时等待一下,控制台出现build success则成功
这是我的项目目录,新建一个文件夹为java,然后按下图操作,就可以在里面写servlet了
maven基础笔记整理(idea版)_第18张图片

然后发现在java包下没有servlet,所以去网上找了解决方法参考博客
这是我的pom下的配置,记得选择maven load changes,我因为一直没有选择,然后servlet一直爆红……百度了那么久,回头研究的时候发现是这里没有点,有点崩溃=-=

maven基础笔记整理(idea版)_第19张图片
发现这样写很方便啊,不管写的那种方式,都不会报错,GET!
maven基础笔记整理(idea版)_第20张图片
idea右侧点击maven,会出现maven的生命周期,可以直接双击执行,或者点击m的小符号用命令来执行,是一样的
maven基础笔记整理(idea版)_第21张图片
按照老师说的,发现没有代码提示,但是没关系,依旧可以执行,idea会自动下载,然后执行(记得在前面配置阿里云的镜像下载
maven基础笔记整理(idea版)_第22张图片
我在那里等了好久才发现控制台已经出了=-=
maven基础笔记整理(idea版)_第23张图片
解决jar包冲突问题,修改scope范围
maven基础笔记整理(idea版)_第24张图片
然后再次执行tomcat:run的时候控制台报错,发现,似乎是原来的启动的tomcat未关闭的原因。。

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

再次加载网页出现这个问题可以参考这篇参考博客
maven基础笔记整理(idea版)_第25张图片
如果配置失败,cmd启动tomcat的方法如下…然后打开idea执行tomcat7:run
就可以跳转网页了,虽然我也不知道到底是那里出错了……至少,现在能用了,先用着看看
maven基础笔记整理(idea版)_第26张图片

这是我目前的pom.xml文件,其他文件已经按照上面附上的教程重新配置了

<?xml version="1.0" encoding="UTF-8"?>

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>com.example</groupId>
  <artifactId>maven_web</artifactId>
  <version>1.0-SNAPSHOT</version>
  <packaging>war</packaging>

  <name>maven_web Maven Webapp</name>
  <!-- FIXME change it to the project's website -->
  <url>http://www.example.com</url>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <maven.compiler.source>1.7</maven.compiler.source>
    <maven.compiler.target>1.7</maven.compiler.target>
  </properties>

  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.11</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>servlet-api</artifactId>
      <version>2.5</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>javax.servlet.jsp</groupId>
      <artifactId>jsp-api</artifactId>
      <version>2.0</version>
      <scope>provided</scope>
    </dependency>
  </dependencies>

  <build>
    <finalName>maven_web</finalName>
    <pluginManagement><!-- lock down plugins versions to avoid using Maven defaults (may be moved to parent pom) -->
      <plugins>
        <plugin>
          <groupId>org.apache.tomcat.maven</groupId>
          <artifactId>tomcat7-maven-plugin</artifactId>
          <version>2.2</version>
          <configuration>
            <!-- 使用tomcat9部署应用 此处的server标签中的值与第二步maven配置文件中的id值一致-->
            <server>tomcat9</server>
            <update>true</update>
          </configuration>
        </plugin>
        <plugin>
          <artifactId>maven-clean-plugin</artifactId>
          <version>3.1.0</version>
        </plugin>
        <!-- see http://maven.apache.org/ref/current/maven-core/default-bindings.html#Plugin_bindings_for_war_packaging -->
        <plugin>
          <artifactId>maven-resources-plugin</artifactId>
          <version>3.0.2</version>
        </plugin>
        <plugin>
          <artifactId>maven-compiler-plugin</artifactId>
          <version>3.8.0</version>
        </plugin>
        <plugin>
          <artifactId>maven-surefire-plugin</artifactId>
          <version>2.22.1</version>
        </plugin>
        <plugin>
          <artifactId>maven-war-plugin</artifactId>
          <version>3.2.2</version>
        </plugin>
        <plugin>
          <artifactId>maven-install-plugin</artifactId>
          <version>2.5.2</version>
        </plugin>
        <plugin>
          <artifactId>maven-deploy-plugin</artifactId>
          <version>2.8.2</version>
        </plugin>
      </plugins>
    </pluginManagement>
  </build>
</project>


另附pom.xml中依赖的范围maven基础笔记整理(idea版)_第27张图片

你可能感兴趣的:(idea,maven)