Maven简单了解

   1. 简介

 Maven是一个跨平台的项目管理工具,主要用于基于java平台的项目构建,依赖管理。

 最大的特色:jar包管理


每一步执行,都会将这一步的前面都执行,比如执行打包package,那么前面的清理,编译,测试,报告都会执行


2.准备工作

  2.1了解资源文件夹含义

src/main/java      存放项目的java文件

src/main/resources  存放项目的资源文件,如spring,hibernate的配置文件

src/test/java       存放所有的测试的java文件

src/test/resources   存放测试用的资源文件

target            项目输出位置

pom.xml  文件,简单理解,管理jar包的

  2.2 仓库分类及调用顺序


中央仓库地址:

http://repo1.maven.org/maven2



2.3 原理简介


插件在哪里,请看:..${mavenhome}\repository\org\apache\maven\plugins下的


于是就有了常用maven指令:

•mvn compile :编译源代码

•mvntest-compile :编译测试代码

•mvn test : 运行应用程序中的单元测试

•mvn site : 生成项目相关信息的网站

•mvn clean :清除目标目录中的生成结果

•mvn package : 依据项目生成 jar 文件

•mvn install :在本地 Repository 中安装 jar

•mvn deploy:将jar包发布到远程仓库

•mvneclipse:eclipse :生成 Eclipse 项目文件


2.4 Maven的特点(依赖,继承)

 个人理解如下:

依赖相当于调用其他类(jar格式),需要将引用的项目打成jar格式

再使用dependency标签,就可以引用其他项目的的类了

 

而继承相当于引用了其他类的jar包(包括类本身),将继承的项目的打成pom格式,然后其他项目要继承时,使用parent标签即可,比如


附加冲突解决:

如果a.jar包依赖b.jar这个项目的1.0版本,可是我的项目中已经有b.jar这个项目2.0的版本了,这里就会造成冲突,解决的办法是去除a.jar包依赖b.jar这个项目的1.0版本的依赖关系,让项目使用我已有的包。使用exclusion标签就可以了


2.5 pom文件简单说明

	<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  
	     maven 用坐标概念来标识 jar包
		  坐标=groupId+artifactId+version
	  -->
	  <groupId>com.maven.demo</groupId>
	  <!--构建物id :产品id-->
	  <artifactId>HelloFriend</artifactId>
	  <!--版本 :SNAPSHOT :测试版本 ,镜像版本   release :发行版本,最终版本-->
	  <version>0.0.1-SNAPSHOT</version>
	  <!--发布的是jar包  ,默认是jar包,也可以使war包等-->
	  <packaging>jar</packaging>
	  <!--项目名称 ,可写可不写-->
	  <name>MavenDemo1</name>
		<dependencies>
		  <!--jar包声明式依赖  依赖  junit4.9jar包-->
			<!-- <dependency>
			   用坐标来标识jar包: 坐标=groupId+artifactId+version
				<groupId>junit</groupId>
				<artifactId>junit</artifactId>
				<version>4.9</version>
				依赖的jar包的使用范围 : 当测试时使用该jar包
				    test 、 compile(默认)  
				
				<scope>test</scope>
			</dependency>	 -->	
		
		 <!--jar包声明式依赖  依赖 Hello.jar包
		 在依赖时,需要把那个依赖项目install放进Maven类库
		 
		 继承时需要发布为pom格式
	         <packaging>pom</packaging>
	          再 install到类库中
      * compile,缺省值,适用于所有阶段,会随着项目一起发布。    
      * provided,类似compile,期望JDK、容器或使用者会提供这个依赖。如servlet.jar。    
      * runtime,只在运行时使用,如JDBC驱动,适用运行和测试阶段。    
      * test,只在测试时使用,用于编译和运行测试代码。不会随项目发布。    
      * system,类似provided,需要显式提供包含依赖的jar,Maven不会在Repository中查找它。
		 -->
			<dependency>
			   <!--用坐标来标识jar包: 坐标=groupId+artifactId+version -->
				<groupId>com.maven.demo</groupId>
				<artifactId>Hello</artifactId>
				<version>0.0.1-SNAPSHOT</version>
				<scope>compile</scope>
			</dependency>	
		</dependencies>
		
  <build>
     资源路径
    <sourceDirectory>src</sourceDirectory>
    <resources>
      <resource>
        <directory>src</directory>
        <excludes>
           忽略java文件,应该的
          <exclude>**/*.java</exclude>
        </excludes>
      </resource>
    </resources>
	</project>
	</build>
附加属性说明:



3.Myeclipse2014创建Maven工程

       基本步骤:

      2.1从http://maven.apache.org/官网上下载最新版本的maven,配置环境变量

      2.2 dos窗口下测试:mvn -c

      

   2.3配置本地仓库

当没有配置本地仓库是,默认路径:

Default: ${user.home}/.m2/repository,修改setting文件


比如: <localRepository>D:\javaSoftware\maven-3.2.5\repository</localRepository>


4.方式1   直接新建Maven  project项目

准备工作:

   


选择Maven project

如果出现列表,选择Internal,等会就出来了


选择quickstart或者webapp都行,都是基于插件构建



最后完成即可,你会发现,这种方式生成的资源目录不完整,需手动完善,于是有了第二种方式


5.方式2:建立web Project 添加Maven

     5.1 建立Maven规范的web项目


完成后出现的结构如下:完整的,如果你有红色的感叹号,估计jar冲突,在pom中删除之或者屏蔽

你会发现,webRoot哪去了,看src


5.2 建立符合web project习惯的Maven项目


完成效果如下:是不是很熟悉的结构



6.部署

先了解下如何测试:


你会发现没有compile指令,在build里面建立compile即可



6.1 方式1

     直接部署就可以了


或者:




6.2方式2  war包部署

    你可以Run as –Maven install—>打包成war包,然后把war包放进tomcat的webapps里面就可以了

  或者:


这个方式个人觉得等价于tomcat的生产模式;只不过war包生成的路径不同而已


好,基本就介绍到这了








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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值