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的项目
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学习
- maven插件maven-war-plugin的使用
- jenkins------部署项目到jboss eap下
- maven使用经验集
- 使用maven+eclipse搭建struts2开发环境
- maven中下载jar包源码和javadoc的命令介绍
- Maven学习笔记
- Maven for Eclipse
- maven 使用 问题记录
- 《Maven权威指南》学习笔记四_创建一个简单的Maven项目
- 《Maven权威指南》学习笔记十七_一个多模块项目 3ff0
- 《Maven权威指南》学习笔记十八_多模块企业级项目 3ff0
- 《Maven权威指南》学习笔记二十_关于POM
- 近日maven学习概况
- Eclipse Maven Tomcat的利用配置
- (转)Vaadin 使用 Maven
- Maven和Eclipse联合开发
- Maven intall OR Maven build
- JFBlog 1.0 maven版本开源
- 使用Maven开发Android的常见问题