关键词:
Maven基础-02-笔记
Maven项目搭建(手动/IDEA)
- 我们回顾一下maven规范的目录结构:
1、手动搭建maven项目
1.1 创建maven项目结构
我们先使用手动的方式来创建maven项目
-
(1)在D盘下创建目录
mvnproject
并进入该目录,作为我们的操作目录 -
(2)创建我们的maven项目,创建一个目录
project-java
作为我们的项目文件夹,并进入到该目录 -
(3)创建java代码(源代码)所在目录,即创建
src/main/java
-
(4)创建配置文件所在目录,即创建
src/main/resources
-
(5)创建测试源代码所在目录,即创建
src/test/java
-
(6)创建测试存放配置文件存放目录,即
src/test/resources
-
(7)在
src/main/java
中创建一个包(注意在windos文件夹下就是创建目录)com/itheima
,在该目录下创建Demo.java
文件,作为演示所需java程序,内容如下package com.itheima; public class Demo public String say(String name) System.out.println("hello "+name); return "hello "+name;
-
(8)在
src/test/java
中创建一个测试包(目录)com/itheima
,在该包下创建测试程序DemoTest.java
package com.itheima; import org.junit.*; public class DemoTest @Test public void testSay() Demo d = new Demo(); String ret = d.say("maven"); Assert.assertEquals("hello maven",ret);
-
(9)在
project-java/src
下创建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/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <!--maven的pom对象版本是4.0.0--> <groupId>com.itheima</groupId> <artifactId>project-java</artifactId><!--当前项目坐标信息 今后别人可以根据坐标引用--> <version>1.0</version> <packaging>jar</packaging> <dependencies> <!--项目运行需要依赖的资源--> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> </dependency> </dependencies> </project>
1.2 项目构建命令 mvn
通过前面的操作,我们已经搭建好了maven的项目结构,下面要通过maven来构建我们的项目@项目构建@
-
maven的项目构建命令以
mvn
开头,后面添加功能参数,可以一次性执行多个命令,用空格分离-
mvn compile
:编译 -
mvn clean
:清理 -
mvn test
:测试 -
mvn package
:打包 -
mvn install
:安装到本地仓库
-
下面我们来进行操作:
-
mvn compile
(1)在项目project-java
所在的DOS命令窗口下执行mvn compile
进行源码编译,当然首次执行需要先下载相关插件
编辑结果如下:
编译完成后在项目project-java
下多了一个目录target
,在这个目录下就存放的是maven编译好的一些东西
我们可以进入到target
目录查看
其中生成的classes
目录就是编译好的字节码文件 -
mvn clean
(2)当然如果我们想清理掉这些东西,我们只需执行mvn clean
命令即可,清理掉后target
目录也就消失了 -
mvn test
(3)如果我们要执行测试包中的测试程序,我们只需执行mvn test
命令即可
此时在看target
目录会多一些东西
其中产生的test-classes
就是测试代码的字节码文件,surefire-reports
是它产生的测试报告
-
mvn package
(4)使用mvn package
命令进行打包,如下
在生成的target
目录中可以看到打包的结果
当然,如果仔细看DOS窗口输出的我们会发现,mvn package
命令的时候maven会把前面两个命令mvn compile,mvn test
都执行一遍 -
mvn install
(5)使用mvn install
命令进行安装,将项目打好的包存入本地仓库@$$@
仔细查看输出会发现
mvn install
命令执行的时候也会将前面的命令都执行一遍此时我们可以去本地仓库中查找,如何查找?这个很重要
maven是按照
groupId/artifactId/version
的结构在本地仓库进行存储
前面我们是通过手动的方式创建的maven项目,相对来说比较的麻烦,maven本身也是这样觉得的,因此maven本身就给我们提供了相关的插件来帮助我们快速构建项目,当然这是一些命令:
这些命令不用记,因为实际操作的时候也用不着,因为实际开发的时候我们基本都是用过一些IDE工具来进行项目开发,@@这些IDE工具基本都集成了Maven,我们操作起来非常简单。
2、IDEA工具搭建maven项目
前面学习的基本都是通过命令来构建和管理项目,但是这在实际开发过程中基本不常用,常用的是通过相关IDE工具来进行项目的构建和管理,因此我们使用IDEA工具进行maven项目的搭建
需要注意的是:Maven和IDEA在版本上存在一些兼容性问题,因为要合理的选择Maven和IDEA的版本,本课程中提供安装maven-3.6.1版本是可用的
2.1 不使用原型创建项目
(1)在IDEA中配置Maven
(2)创建maven工程 @这边有一个之前很纠结的问题,明明创建工程那应该是New Project但这里却是New Module,创建成功之后可以看一下目录结构就很好理解了,一个project中可以包含多个module,就相当于创建的module放到一个project目录中,就是个目录嵌套的关系 @
(3)填写本项目的坐标
(4)查看各目录颜色标记是否正确
(5)IDEA右侧有一个maven管理界面,可点开查看(生命周期[项目构建命令]、插件、依赖)
(6)在项目的pom.xml文件中添加项目资源依赖
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>
</dependencies>
(7)创建源代码:com.itheima.Demo
package com.itheima;
/**
* Created by sunstone.
*/
public class Demo
public String say(String name)
System.out.println("hello "+name);
return "hello "+name;
(8)创建测试代码:com.itheima.DemoTest
package com.itheima;
import org.junit.Assert;
import org.junit.Test;
/**
* Created by sunstone.
*/
public class DemoTest
@Test
public void testSay()
Demo d = new Demo();
String ret = d.say("maven");
Assert.assertEquals("hello maven",ret);
然后可以进行测试运行
运行的时候可以编辑运行模板:(也可以在右侧Maven Projects中点击生命周期中 对应的项目构建命令)
然后点击运行:
2.2 使用原型(原型骨架)创建项目-Tomcat插件
-
首先我们来看普通的java工程如何创建:
(1)创建maven项目的时候选择使用原型骨架
(2)创建完成后发现通过这种方式缺少一些目录,如下图
我们需要手动去补全目录,并且要对补全的目录进行标记,切记
-
然后我们在来看web工程如何创建:
(1)选择web对应的原型骨架有很多的webapp原型骨架,选择哪个基本都差不多,包括前面创建普通项目也是一样,quickstart原型也有很多
-
(2)和前面创建普通项目一样,通过原型创建web项目得到的目录结构是不全的,因此需要我们自行补全,同时要标记正确,最终需要得到如下结构
(3)web工程创建好之后需要启动运行,需要使用一个tomcat插件来运行我们的项目,在pom.xml
中添加插件的坐标即可,最终改好的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"> <!--指定pom的模型版本--> <modelVersion>4.0.0</modelVersion> <!--组织id--> <groupId>com.itheima</groupId> <!--项目id--> <artifactId>web01</artifactId> <!--版本号:release,snapshot--> <version>1.0-SNAPSHOT</version> <!--打包方式,web工程打包为war,java工程打包为jar--> <packaging>war</packaging> <name>web01 Maven Webapp</name> <url>http://www.example.com</url> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.target> </properties> <!--设置当前工程的所有依赖--> <dependencies> <!--具体的依赖--> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> <scope>test</scope> </dependency> </dependencies> <build> <!--构建--> <finalName>web01</finalName> <plugins> <!--设置插件--> <plugin> <!--具体的插件配置--> <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat7-maven-plugin</artifactId> <version>2.1</version> </plugin> </plugins> </build> </project>
(4)插件配置好后,在IDEA右侧
maven-project
操作面板上可以看到该插件,并且可以利用该插件启动项目
运行后该插件会给我们一个可运行地址:
如果我们想更换端口,只需要在
pom.xml
中配置该插件即可<plugins> <plugin> <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat7-maven-plugin</artifactId> <version>2.1</version> <configuration> <port>80</port> </configuration> </plugin>
(5)同时为了运行方便我们也可以创建运行模板:
maven基础-00-笔记(代码片段)
Maven基础-系列-笔记一、Maven简介1.1Maven是什么1.2Maven的作用二、Maven环境搭建2.1下载2.2安装2.3环境配置三、Maven基础的学习内容1,Maven基础概念(坐标、仓库)2,Maven项目搭建(手动/IDEA)3,Maven依赖管理、Maven生命周期与插... 查看详情
maven基础-03-笔记(代码片段)
Maven基础-03-笔记Maven依赖管理、Maven生命周期与插件1、Maven依赖管理1.1依赖配置与依赖传递1.2依赖范围2、Maven生命周期与插件2.1生命周期2.2插件Maven依赖管理、Maven生命周期与插件1、Maven依赖管理1.1依赖配置与依赖传递依赖是指在... 查看详情
maven基础-03-笔记(代码片段)
Maven基础-03-笔记Maven依赖管理、Maven生命周期与插件1、Maven依赖管理1.1依赖配置与依赖传递1.2依赖范围2、Maven生命周期与插件2.1生命周期2.2插件Maven依赖管理、Maven生命周期与插件1、Maven依赖管理1.1依赖配置与依赖传递依赖是指在... 查看详情
maven基础-01-笔记(代码片段)
Maven基础-01-笔记Maven基础概念(坐标、仓库)1、仓库2、坐标3、仓库配置Maven基础概念(坐标、仓库)1、仓库仓库:用于存储资源,主要是各种jar包关于仓库,我们前面讲到了有三种:本地仓库,私服,中央仓库... 查看详情
maven笔记(代码片段)
...maven教学后做的笔记,讲解了maven这一项目构建工具的基础配置以及简单使用。看完本文并加以练习,你一定能够在短时间内掌握maven的使用,这能极大程度地简化你的项目开发~~~b站动力节点Maven教学地址:2020最新... 查看详情
java开发学习笔记:maven基础(代码片段)
Maven简介传统项目管理的缺点:jar包可能不统一或不兼容、工程升级维护过程繁琐…Maven的本质是项目管理工具,将项目开发和管理过程抽象成项目对象模型(POM,ProjectObjectModel),即一个项目就是一个对... 查看详情
java开发学习笔记:maven基础(代码片段)
Maven简介传统项目管理的缺点:jar包可能不统一或不兼容、工程升级维护过程繁琐…Maven的本质是项目管理工具,将项目开发和管理过程抽象成项目对象模型(POM,ProjectObjectModel),即一个项目就是一个对... 查看详情
maven基础知识总结笔记(代码片段)
文章目录1.如何在eclipse中使用Maven?1.1Maven配置eclipse1.2创建Maven工程1.3eclipse使用Maven命令2.Maven聚合3.Maven继承4.Maven属性4.1自定义Maven属性4.2Maven属性的分类5.Maven版本管理6.Maven外部资源加载属性值7.Maven多环境开发配置(多环境兼... 查看详情
maven基础-00-笔记(代码片段)
Maven基础-系列-笔记一、Maven简介1.1Maven是什么1.2Maven的作用二、Maven环境搭建2.1下载2.2安装2.3环境配置三、Maven基础的学习内容1,Maven基础概念(坐标、仓库)2,Maven项目搭建(手动/IDEA)3,Maven依赖管理、Maven生命周期与插... 查看详情
maven基础-00-笔记(代码片段)
Maven基础-系列-笔记一、Maven简介1.1Maven是什么1.2Maven的作用二、Maven环境搭建2.1下载2.2安装2.3环境配置三、Maven基础的学习内容1,Maven基础概念(坐标、仓库)2,Maven项目搭建(手动/IDEA)3,Maven依赖管理、Maven生命周期与插... 查看详情
maven基础知识总结笔记(代码片段)
文章目录1.为什么要用Maven?2.Maven的概述3.安装Maven核心程序4.Maven决定的目录结构5.关于Maven联网的问题6.MavenPOM7.Maven坐标8.Maven仓库10.Maven命令构建过程11.使用Maven插件来创建工程(了解,一般用不上)12.使用idea来创建Maven工程... 查看详情
maven基础-01-笔记(代码片段)
Maven基础-01-笔记Maven基础概念(坐标、仓库)1、仓库2、坐标3、仓库配置Maven基础概念(坐标、仓库)1、仓库仓库:用于存储资源,主要是各种jar包关于仓库,我们前面讲到了有三种:本地仓库,私服,中央仓库... 查看详情
maven基础-01-笔记(代码片段)
Maven基础-01-笔记Maven基础概念(坐标、仓库)1、仓库2、坐标3、仓库配置Maven基础概念(坐标、仓库)1、仓库仓库:用于存储资源,主要是各种jar包关于仓库,我们前面讲到了有三种:本地仓库,私服,中央仓库... 查看详情
java开发学习笔记:maven基础(代码片段)
...:%MAVEN_HOME%\\bincmd命令行输入mvn检查配置是否成功Maven基础概念仓库:存储jar包本地仓库:本机存储资源的仓库,可以连接远程仓库(私服)获取资源远程仓库:非本机电脑的仓库,能为本地仓库较... 查看详情
springmvc基础02——helloworld(代码片段)
1、搭建环境博主使用的环境是IDEA2017.3,首先我们需要创建一个maven项目父项目,创建一个project,选择maven,之后点击next添写当前项目的坐标,之后点击next填写项目名点击finsh创建好父项目之后我们删除它的src文件夹,因为我们... 查看详情
koa笔记02:常用中间件(代码片段)
文章目录目的基础说明安全防护URL路由body处理静态文件缓存处理数据压缩模板引擎认证与会话运行日志总结目的前面的文章《Koa笔记01:基础入门》中对Koa做了个基础的介绍,Koa是个HTTP中间件框架,本身并没有提供... 查看详情
深度学习-计算机视觉-基础学习笔记-02(代码片段)
卷积神经网络ConvolutionalNeuralNetworks—CNN,其与常规神经网络的构想基本一致,不同的是需要训练卷积层,因为其更能保留输入的空间结构。前面我们提到了全连接层的概念,将一个32×32×3的照片像素提取并展开... 查看详情
遇见狂神说---javaweb部分笔记(代码片段)
...着视频整理的;但是有的知识点并没有整理进来(比如一些基础概念,安装步骤)ml1.web基本;Tomcat安装使用2.http详细讲解3.maven3.1IDEA中使用Maven3.1.1创建固定模板的maven项目3.1.2创建普通的maven项目3.1.3标准的web3.2为项目部署 查看详情