web学习笔记20-maven学习
来源:互联网 发布:淘宝拍卖翡翠手镯被骗 编辑:程序博客网 时间:2024/06/13 22:52
1、什么是maven:
Maven是一个跨平台的项目管理工具,主要用于基于java平台的项目构建,依赖管理。是一种自动化管理的工具。主要的功能就是可以管理jar包是apache下的一个产品。解决的项目的问题:a.如果有好几个项目,这好几个项目中,需要用到很多相同的jar包, 可以只建立一个仓库来解决。b.测试方法可以全部运行。c.把一个模块的功能放入到仓库中。
2、maven的安装:
从http://maven.apache.org/下载,下载完解压到你指定的路径把bin路径添加到PATH路径下运行mvn -v 检查是否安装成功。我下载的是 apache-maven-3.5.0-bin.zip
3、maven的仓库:
建一个本地仓库maven默认的仓库是在c盘 例如我的:C:\Users\Administrator.PC-20140217OXFV\.m2指定自己的仓库: 把D:\Install_Program\maven\apache-maven-3.5.0\conf下面的settings.xml文件复制到上述的路径中修改settings.xml文件<localRepository>D:/Install_Program/maven/myRepository</localRepository>
4、maven的约定:
我们使用maven,在项目文件放置需要遵守maven的约定src/main/java 存放项目的java文件src/main/resources 存放项目的资源文件,如spring,hibernate的配置文件src/test/java 存放所有的测试的java文件src/test/resources 存放测试用的资源文件target 项目输出位置,自动生成pom.xml 文件,很重要的配置文件maven的运行不需要myeclipse,我们为了方便
5、maven的命令:
第一次使用mvn clean ,mvn compile 网络不好的情况下会等蛮久的,主要是下载一些jar包到本地的仓库。我们在myeclipse中按照上面的格式创建一个项目
HelloMaven src/main/java com.example.maven Hello.java src/main/resources src/test/java com.example.maven HelloTest.java src/test/resources pom.xml
pom.xml文件的配置:
<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>hello</artifactId> //这个名称就是本地仓库中 com.example 下一级目录 <version>0.0.1-SNAPSHOT</version> // hello + 0.0.1-SNAPSHOT版本号,就成了你的jar包的名称 <name>hi</name> <description/> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <!-- 没有用到依赖库,暂时注释掉 <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.9</version> </dependency> </dependencies> --> </project>
mvn clean:清除maven工程 我们在cmd中,cd到工程目录下面,执行mvn clean就会把target的目录给清除掉mvn compile:编译工程 成功后我们在cmd窗口中可以看到 [INFO] BUILD SUCCESS 的提示 并且在工程目录生成target目录,里面会生成class文件mvn test:执行测试目录里面的所有测试方法(只会执行有@Test标记的方法)mvn package:将工程打包成一个jar 例如上面的工程就在target目录下生成了一个 hello-0.0.1-SNAPSHOT.jar mvn install:将我们的jar包放到maven的本地仓库中: 例如:在D:\Install_Program\maven\myRepository\com\example\hello\0.0.1-SNAPSHOT 中就有我们的jar包 pom.xml文件就变成了 hello-0.0.1-SNAPSHOT.pom文件,内容是一样的。
6、maven的依赖:
有的时候我们的工程需要依赖其他的工程。那么我们可以在xml中配置依赖我们添加依赖的时候注意,在本地仓库中必须要有这个工程的jar包。是我们自己的工程我们就 mvn install 就放进去了。例如我们新建一个工程 HelloFriendcom.example.maven 包
public class HelloFriend { public void helloFriend(){ System.out.println("hello friend"); Hello hello = new Hello(); //我们使用上面工程的Hello类,eclipse报错不用管 hello.hello(); } }
xml配置:
<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>helloFriend</artifactId> <version>0.0.1-SNAPSHOT</version> <description /> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <!-- 加的依赖的配置 --> <dependencies> <dependency> <groupId>com.example</groupId> <artifactId>hello</artifactId> <version>0.0.1-SNAPSHOT</version> </dependency> </dependencies> </project>
我们cd到工程目录下,mvn compile 可以编译成功。说明我们的依赖配置OK。
7、maven依赖传递性:
比如我们现在有个工程HelloSuperFriend我们配置依赖了上面的HelloFriend,默认Hello工程的类也可以使用,就相当于也使用了Hello工程的依赖。
8、maven的jar包继承:
在基类的工程中配置:<groupId>com.example</groupId><artifactId>hello</artifactId><version>0.0.1-SNAPSHOT</version><packaging>pom</packaging> //我们配置了pom这个属性后,使用mvn compile 是不会生成target目录我们mvn install 命令后,会把当前的xml配置重名为一个pom文件存到本地仓库中,并没与jar文件例如我们想继承Hello工程我们只要配置:<parent> <groupId>com.example</groupId> <artifactId>hello</artifactId> <version>0.0.1-SNAPSHOT</version></parent>这样我们就可以在这个工程中使用HelloMaven工程中的Hello类了关键了解 <parent> 属性和 <packaging> 的设置
9、maven的坐标:
我们如何来找一个jar包我们只需要确定这3个属性值就可以确定了,你可以在本地仓库中按照这个路径找。<groupId>com.example</groupId><artifactId>hello</artifactId><version>0.0.1-SNAPSHOT</version>网上提供的maven支持工程都会提供坐标的,所以我们可以根据坐标,联网就可以自动下载使用jar包
10、maven的仓库:
local repository 本地库center repisitory 中央库,在互联网上的url私服:就是war包,web工程,放到tomcat中, 我们可以在settings.xml的配置中配置mirror 就可以把私服配置到我们自己服务器,就从私服中查找jar包maven的执行原理:maven根据pom.xml文件,把它转化成项目对象模型(POM)这个时候要解析依赖关系,然后去相对应的maven库中查找到依赖的jar包。在clean,compile,test,package等阶段都有相应的Plug-in来做这些事情(插件在本地库 org/apache/plugins 中)。而这些plug-in会产生一些中间产物。
11、maven与myeclipse的整合:
myeclipse里面自带有maven,但是我们最好把我们自己的maven导进来。
一些简单的截图
myeclipse创建一个maven工程
创建完成之后,右击工程就可以执行maven的命令了,类似于命令行的
mvn compile 、mvn install …可是我们发现没有compile这个选项,于是我们可以这样
创建工程的时候肯定会遇到各种的报错,找不到jar什么的,我们一般使用依赖,使用maven自己在网上更新就ok
解决方法:在一个pom.xml写好依赖<dependency> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-plugin</artifactId> <version>2.2</version></dependency>执行:mvn install 命令,就可以直接更新了自己已通过这个方法解决了好几个报错问题。eclipse中整合maven的好处,我们在pom.xml文件中加了一个dependency ,在Maven Dependencies中就可以看到jar包直接就引进来了,很神奇,方便。
还遇到一个问题,一直提示(网上找到说myeclipse2014和maven3.5不兼容)
我的解决方法是:
当然你也可以选择低版本。我没有选择低版本,还是用maven 3.5
M2_HOME: D:\Install_Program\maven\apache-maven-3.5.0
-Dmaven.multiModuleProjectDirectory=$M2_HOME
成功运行:
阅读全文
0 0
- web学习笔记20-maven学习
- Maven学习笔记---maven整合web项目
- maven学习笔记(4)--web项目
- Maven学习笔记(十) : 使用Maven构建Web应用
- Maven学习笔记(二) 构建web应用
- Maven学习笔记(三)---管理web项目
- 【Java Web 学习笔记】Maven简介及安装
- Java Web 学习笔记(二) 使用 Maven 创建 WebApp
- Maven学习笔记(五)-----Eclipse创建Web工程
- 不错的maven学习笔记,收藏——Maven学习 (三) 使用m2eclipse创建web项目
- maven学习笔记
- maven学习笔记
- maven学习笔记 --转载
- Maven学习笔记
- Maven学习笔记
- maven 学习笔记
- Maven学习笔记
- maven学习笔记
- mac如何找/Library/Preferences/AndroidStudioXXX
- Python学习day03 字典与函数
- include file与jsp include file有什么区别?
- 2017湖南省程序设计竞赛
- 暑期项目实训之健康宝APP(四)
- web学习笔记20-maven学习
- I Hate It(基本线段树)
- 数模算法-动态规划、回溯搜索、分治算法、分支定界等计算机算法
- centos查看版本信息
- VMware(虚拟机) 12版怎么安装深度linux系统
- 前后端分离场景下,ajax 如何控制页面跳转
- 数模算法-最优化理论的三大经典算法:模拟退火法、神经网络、遗传算法
- entos 7中防火墙
- 数模算法-网格算法和穷举法