zoukankan      html  css  js  c++  java
  • maven介绍及总结

    一:maven的好处
    1.依赖管理:对jar包的统一管理 可以节省空间
    2.项目一键构建:

    	编码  编译  测试(junit)  运行  打包  部署
    	一个 tomcat:run就能把项目运行起来
    	Maven能干的事:
    	编译  测试(junit)  运行  打包  部署
    

    3.可以跨平台
    4.应用于大型项目 可以提高开发效率

    	互联网项目:按业务分
    	传统项目:按层次分 pojo dao service web		
    

    二:maven仓库
    三种仓库

    1、本地仓库 自己维护
    	本地仓库的配置只需要修改settings.xml文件就可以
    2、远程仓库(私服) 公司维护
    3、中央仓库 maven团队维护
    

    三:maven入门程序
    1.Maven的目录结构

    	pom.xml  -->  maven项目的核心文件
    	src/main  -->  主目录
    	src/main/java  -->  java代码
    	src/main/resources  -->  配置文件/properties/xml
    	src/test  -->  测试目录
    	src/test/java  -->  纯java代码 junit测试
    	src/test/resources  -->  junit测试所用到的配置文件,如果没有就从main里找	
    

    2.maven常用命令

    	mvn clean  -->  清理编译的文件
    	mvn compile  -->  编译了主目录的文件
    	mvn test  -->  编译并运行了test目录的代码
    	Package  -->  打包
    	mvn install  -->  把项目发布到本地仓库
    	tomcat:run  一键启动
    

    3.maven的生命周期

    	Compile   test  package  install  deploy(发布到私服)
    	三种生命周期:
    	Clean生命周期
    		Clean
    	Default生命周期
    		Compile   test  package  install  deploy
    	Site生命周期
    		Site
    	不同的生命周期的命令可以同时执行:
    		Mvn clean package
    

    四:项目构建
    1.maven在eclipse的配置

    	选择maven软件的版本
    	修改默认的本地仓库地址
    

    2.项目构建
    a.新建maven项目
    b.跳过骨架,如果不跳过骨架选择创建出的项目目录是不全的
    c.填写坐标信息

    		groupId 公司或组织名称
    		artifactId 项目或模块名称
    		version 版本
    		packaging 打包方式
    

    d.添加web.xml文件

    		①.手动在webapp文件夹下创建一个WEB-INF文件夹,在里面放一个web.xml文件
    		②.查看项目信息
    			project facets --》 dynamic web module
    			去掉勾选 --》apply 再该版本 --》设置xml路径(src/main/webapp) --》apply
    

    e.修改编译版本
    在pom.xml中添加如下代码:

    		<build>
    			<!-- 配置了很多插件 -->
    			<finalName>ssm</finalName>
    			<plugins>
    				<plugin>
    					<groupId>org.apache.maven.plugins</groupId>
    					<artifactId>maven-compiler-plugin</artifactId> 
    					<configuration>
    						<source>1.8</source>
    						<target>1.8</target>
    						<encoding>UTF-8</encoding>
    					</configuration>
    				</plugin>
    			</plugins>
    		</build>
    

    f.添加jar包(在pom.xml中)(依赖传递)
    在本地重建索引,以索引的方式搜索:

    			打开maven仓库的视图
    			重建索引
    			添加坐标 选择Dependencies标签 点击add
    			手动输入要添加的坐标,选择版本和范围
    

    从网络上搜索:mvnrepository.com
    g.启动项目(maven build...)

    		tomcat:run		
    

    五:依赖范围
    1.Compile struts2-core

    	编译(compile)时需要 测试时需要,运行时需要,打包时需要
    

    2.Provided jsp-api.jar servlet-api.jar -- *****

    	编译(compile)时需要,测试(test)时也需要 ,运行时不需要,打包时不需要
    

    3.Runtime 数据库驱动包

    	编译时不需要,测试时需要,运行时需要,打包时需要
    

    4.Test junit.jar

    	编译时不需要,测试时需要,运行时不需要,打包也不需要
    

    六:依赖版本冲突的解决
    1、第一声明优先原则 优先采用前面的jar包,不采用后面的jar包
    2、路径近者优先原则 自己添加jar包,优先采用直接定义的jar包,不采用依赖传递的jar包
    3、排除原则

    	<dependency>
    		<groupId>org.apache.struts</groupId>
    		<artifactId>struts2-spring-plugin</artifactId>
    		<version>2.3.24</version>
    		<exclusions>
    		  <exclusion>
    			<groupId>org.springframework</groupId>
    			<artifactId>spring-beans</artifactId>
    		  </exclusion>
    		</exclusions>
    	</dependency>
    

    4、版本锁定原则

    	<properties>
    		<spring.version>4.2.4.RELEASE</spring.version>
    		<hibernate.version>5.0.7.Final</hibernate.version>
    		<struts.version>2.3.24</struts.version>
    	</properties>
    

    发布项目:
    运行myeclipse server application,部署项目到tomcat并运行
    运行manven install,打包项目到本地仓库

    maven启动自带的tomcat:(在pom.xml中添加插件)

    Maven  add  plugin
    tomcat6:
    	tomcat:run
    	tomcat:stop
    tomcat7:
    	tomcat7:run
    	tomcat7:shutdown
  • 相关阅读:
    POJ1001 Exponentiation
    centos 在安装YouCompleteMe时提示 Fatal : pyconfig.h No such file or directory
    VMware12上安装CentOS无法上网问题
    mysql报错:/usr/sbin/mysqld:unknown variable 'default-character-set=utf8'
    centos7 python3.5安装mysqlclient1.3.9
    DirectDraw创建Windows窗口
    二进制移位溢出
    格式化时间 与 时间戳的转换
    ADO 读取 ACCESS
    Windows DOS 窗口设置字体颜色
  • 原文地址:https://www.cnblogs.com/itzlg/p/10699329.html
Copyright © 2011-2022 走看看