Maven基础

maven 可以不同项目之间管理

groupId  用来表示项目名称
artifactId 用来表示项目的模块名称(建议使用项目名称)
version 表示这个项目的版本

源代码放在src/main/java中
源代码的资源文件放置在src/main/resources文件夹中
测试代码应该放置在src/test/java中
测试代码的字眼文件应该放置在src/test/resources文件中
运行mvn
  mvn clean -->表示运行清理操作(会默认把target文件夹中的数据清理)
  mvn clean compile ---> 表示先运行清理之后运行编译,会见代码编译到target文件夹中
  mvn clean test --->运行清理和测试
  mvn clean package --->运行清理与打包
  mvn clean install ---->运行清理和安装,会把打好的包安装到本地仓库中,以便其他的项目可以调用
  mvn clean deploy  --->运行清理和发布(发布到私服务器上面)
  mvn test         会执行src/test/java 下的Junit 测试代码
  mvn package      会将项目打成jar包,并放在target目录中
  mvn install      会将项目jar包安装到本地仓库中,以便其他项目使用,执       行此命令之前会先执行编译,测试,打包命令
清理 clean
编译 compile
打包 package
安装 install
跳过测试    clean package -Dmaven.test.skip=true
  surefire:test    surefire是Maven世界中负责执行测试的插件
  maven archetype  来创建该项目的骨架

  使用mvn archetype generate 可以自动完成这个骨架
mvn help:system 打印所有的java系统属性和环境变量

<dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
</project>
groupId, artifactId 和 version 的三行。这三个元素定义了一个项目基本的坐标
groupId 定义了项目属于哪个组,这个组往往和项目所在的组织或公司存在关联。
譬如在googlecode上建立了一个名为myapp的项目,那么groupId就应该是com.googlecode.myapp
artifactId 定义了当前Maven项目在组织中唯一的ID, 可以理解为项目中的模块, 模块为Maven中最小单位构件
version 项目的版本

Maven
1.maven初步
2.依赖
3.仓库
4.生命周期和插件

maven的传递性: a-->b  b-->c  a-->c
maven的依赖范围:1.test范围指的是测试范围有效,在编译和打包时都不会使用这个依赖
2.compile范围是指在编译有效,在编译和打包时都会将依赖储存进去
3.provided依赖:在编译和测试的过程有效,在最后生成war时不加入,如:servlet-api,因为tomcat等web服务器已经存在,如果再打包回冲突
4.runtime在运行的时候依赖,在编译的时候不依赖
默认的依赖范围是compile
4.依赖的聚合:

你可能感兴趣的:(maven基础)