zoukankan      html  css  js  c++  java
  • 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>
    
    起风了,努力生存
  • 相关阅读:
    x64 平台开发 Mapxtreme 编译错误
    hdu 4305 Lightning
    Ural 1627 Join(生成树计数)
    poj 2104 Kth Number(可持久化线段树)
    ural 1651 Shortest Subchain
    hdu 4351 Digital root
    hdu 3221 Bruteforce Algorithm
    poj 2892 Tunnel Warfare (Splay Tree instead of Segment Tree)
    hdu 4031 Attack(BIT)
    LightOJ 1277 Looking for a Subsequence
  • 原文地址:https://www.cnblogs.com/StivenYang/p/StivenYang.html
Copyright © 2011-2022 走看看