您的位置:首页 > 其它

maven 自己的整理的笔记 - 待续

2015-09-07 14:10 351 查看
1、设置环境变量

2、设置本地仓库和远程仓库

3、groupId 项目名称 artfactId 模块名称 version 版本号

4、常用的命令:
mvn clean -- 》 清除
mvn compile -- 》编译
mvn install -- 》 向本地仓库打成jar包
mvn test -- 》测试
mvn package -->打成jar包文件
-- maven 隐藏变量 ${project.groupId},${project.version}

--依赖传递

<?xml version="1.0" encoding="UTF-8"?>

<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>cn.com.chao</groupId>
<artifactId>maven-ch01</artifactId>
<version>0.0.1-SNAPSHOT</version>

<dependencies> <!--引入一个依赖包-->
<dependency>

      <groupId>junit</groupId>

      <artifactId>junit</artifactId>

      <version>4.10</version>

      <scope>test</scope>

    </dependency>
</dependencies>

</project>

依赖范围:

compile:编译 打包 测试 都有效,--默认的是compile -- 会传递

provided:编译测试的时候,生成war jar文件不会打包进去

runtime: 在运行的依赖,比如mysql的jar包

test: 在测试范围有效,编译和测试的时候不会依赖可
--- test的作用域只作用于src/test/java 
 

错误调试:可以先清除maven支持,在covert maven

依赖传递:#只会传递compile的包,test的包不会传递

a依赖 l1.0

b依赖 l2.0

c依赖 a,b 则c会传递那个? 在同等层级的时候传递的是l1.0;

c这种依赖就是间接依赖 在间接依赖关系中:
-- 依赖级别相同的情况下 先声明的先依赖;
-- 依赖级别不同的,会寻找依赖级别最短的那个包

限制依赖:
关键字<exclusions>
<exclusion>

</exclusion>
  </exclusions>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>dubbo</artifactId>
<version>2.5.3</version>
<exclusions>
<exclusion>
<groupId>org.springframework</groupId>
<artifactId>spring</artifactId>
</exclusion>
</exclusions>
</dependency>
---- 依赖com.alibaba.dubbo版本是2.5.3这个模块但是排除此模块中org.springframework.spring 相关的依赖包

maven的聚合和继承:在项目的根目录中创建pom.xml文件,可以集中编译
--- 在eclipse环境中:创建maven项目--》simple project 
关键字<modules>
<module>../hd-common</module>
<module>../hd-domain</module>
<module>../hd-framework-web</module>
<module>../hd-mall-dao</module>
<module>../hd-mall-service</module>
<module>../hd-mall-service-impl</module>
<module>../hd-mall-web</module>
</modules> ---  构建上级目录的hd-common的项目
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  maven