• maven-java包管理工具-01


    maven只用来管理java项目,也是用java开发的

    传统的项目因为包的管理有很多问题,所以才有的maven的诞生:

    1. 项目开始的时候,确定项目中可能要使用到的包,然后下载包,复制粘贴到项目里面去--》maven只需要再确定包以后,将包的配置信息写进去就可以

    2. 包导入完成之后,可能会有包冲突的问题,需要在原来的jar包里面找出冲突的jar包,然后删除--》maven只需要在pom.xml配置文件中删除某一个节点就可以;

    3. 原来的项目大小可能很大,但是在使用maven以后,项目的大小会变得很小;

    使用maven我们需要了解以下的概念:

    一个java项目的开发包括一下的几个步骤:

    1. 编码

    2. 编译

    3. 测试

    4. 运行

    5. 打包

    6. 部署

    而maven可以帮助我们完成:编译,测试,运行,打包,部署;也就是说我们只需要完成编码,其他的部分都可以交给maven去做。

    下面开始安装和配置maven:

    1. 下载maven

    2. 配置环境变量

    MAVEN_HOME:D:Softwareapache-maven-3.5.3

    把maven_home添加到path里面:%MAVEN_HOME%in;

    测试配置是否正确:cmd->mvn -v

    下面介绍一个maven的几种仓库:

    1. 本地仓库,自己来维护

    2. 远程仓库(私服):一般是由公司维护

    3. 中央仓库:maven团队维护

    下面放一张使用maven以后的项目目录结构:

    maven的常用命令:

    1. clean : 清理编译的文件

    2. compile:编译了主目录的文件

    3. test:编译并运行了test目录的代码

    4. package:打包

    5.install:就是把项目发不到本地仓库

    上面的命令是按照使用顺序排列的

    多个命令可以同时使用:mvn clean package

    下面说一下maven在eclipse中的配置步骤:

    1. 配置maven的安装路径

    2. 配置maven的本地仓库地址

    下面是在eclipse中创建一个maven项目:

    1. 新建maven项目

    2. 跳过配置,直接生成完整的maven目录结构

    3. 填写pom配置文件的初始配置

    4. 完成后的目录如下所示:

    5. 处理红色错误

    手动在webapp文件夹下创建一个WEB-INF文件夹,在里面放一个web.xml文件

    6. 处理编译版本

    在pom.xml中添加如下代码:

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

    7.创建一个servlet

    8. 修改web.xml删除重复的代码

    添加jar包,在pom.xml中添加如下代码:

    <dependencies>
    		<dependency>
    			<groupId>junit</groupId>
    			<artifactId>junit</artifactId>
    			<version>4.9</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</groupId>
    			<artifactId>jsp-api</artifactId>
    			<version>2.0</version>
    			<scope>provided</scope>
    		</dependency>
    		
    	</dependencies>
    

     可以看见jar包已经存在于项目中了:

    8. 启动项目

    右键项目-》run as-》maven build

    下面是依赖的管理

    1. 添加依赖

    打开maven仓库的视图

    2. 重建索引

    1、  创建maven项目(同上)

    2、  跳过骨架(同上)

    3、  填写坐标信息(同上)

    4、  添加web.xml文件(同上)

    5、  修改编译版本(同上)

    添加坐标 选择Dependencies标签 点击add

    3. 手动输入要添加的依赖的配置属性,选择版本

    可以看到pom.xml文件里面多了以下的内容

    maven管理jar包的几个原则

    1. 第一声明优先原则

    <dependencies>
      <!--   spring-beans-4.2.4 -->
      	<dependency>
      		<groupId>org.springframework</groupId>
      		<artifactId>spring-context</artifactId>
      		<version>4.2.4.RELEASE</version>
      	</dependency>
      
      
    <!--   spring-beans-3.0.5 -->
      	<dependency>
      		<groupId>org.apache.struts</groupId>
      		<artifactId>struts2-spring-plugin</artifactId>
      		<version>2.3.24</version>
      	</dependency>
    

     2. 路径近者优先原则,也就是自己详细制定jar包

    <dependency>
      		<groupId>org.springframework</groupId>
      		<artifactId>spring-beans</artifactId>
      		<version>4.2.4.RELEASE</version>
      	</dependency>
    

     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>
    
    	<!-- 锁定版本,struts2-2.3.24、spring4.2.4、hibernate5.0.7 -->
    	<dependencyManagement>
    		<dependencies>
    			<dependency>
    				<groupId>org.springframework</groupId>
    				<artifactId>spring-context</artifactId>
    				<version>${spring.version}</version>
    			</dependency>
    </dependencies>
    </dependencyManagement>
    
    起风了,努力生存
  • 相关阅读:
    Jquery对象与DOM对象之间的转换
    关于Content-Type中application/x-www-form-urlencoded 和 multipart/form-data的区别及用法
    ${pageContext.request.contextPath} :JSP取得绝对路径方法
    servlet到底是什么?
    get和post的区别
    HTTP请求返回状态码详解
    XMLHttpRequest对象的readyState和status区别
    hdu 3594 仙人掌图
    hdu 4744 最小费用流
    hdu 4729 树链剖分
  • 原文地址:https://www.cnblogs.com/StivenYang/p/StivenYang.html
Copyright © 2020-2023  润新知