[关闭]
@Spancymath 2019-10-26T11:53:53.000000Z 字数 2249 阅读 927

Maven

java


Maven是一个跨平台的项目管理工具,主要用于基于Java平台的项目的构建、依赖管理。

Maven安装配置

  1. 从官网http://maven.apache.org/下载
  2. 设定环境变量:把下载下来的bin文件夹的全路径,例如F:\work\course\maven\maven\bin,添加到环境变量path中
  3. 检查安装成功的命令,用命令行工具
    mvn -v

  4. maven的一些简单约定和配置

a. 默认仓库的路径:pc的当前用户下的.m2文件夹,例如C:\Users\Zhang.m2
b. 找到下载的maven文件夹里的conf文件夹,有一个settings.xml,将其放入maven的默认仓库.m2中,在其中添加F:/work/course/maven/mavenRepository/,可以指定本地仓库的路径
c. 说明:

bin中存放可执行的二进制文件
conf存放settings.xml文件
lib 运行maven所依赖的jar包

d. maven项目

src/main/java 存放项目的java文件
src/main/resources 存放项目的资源文件,如spring,hibernate的配置文件
src/test/java 存放所有的测试的java文件
src/test/resources 存放测试用的资源文件
target 项目输出位置
pom.xml 文件

Maven项目

1.Maven坐标

groupId:定义当前maven项目属于哪个项目
artifactId:定义实际项目中的某一个模块
version:定义当前项目的当前版本
packaging:定义当前项目的打包方式

根据这些坐标,在maven库中可以找到唯一的jar包, 大致为:groupId/artifactId/version/artifactId-version.packaging
2.依赖管理

  1. <groupId>com.zhang</groupId>
  2. <artifactId>ParentJunit</artifactId> <!--项目中某一模块的唯一标识-->
  3. <version>0.0.1-SNAPSHOT</version>
  4. <packaging>pom</packaging> <!--指定项目用来继承,值为jar则可用来依赖-->
  5. <name>Parent Junit</name> <!--用来显示-->
  6. <url>www.zhang.com</url> <!--可以用来外部访问,对项目没有实际用处-->
  7. <dependencies>
  8. <dependency>
  9. <groupId>junit</groupId>
  10. <artifactId>junit</artifactId>
  11. <version>4.9</version>
  12. <scope>test</scope>
  13. </dependency>
  14. </dependencies>

3.继承管理

父项目要有pom

  1. <parent>
  2. <groupId>com.zhang</groupId>
  3. <artifactId>ParentJunit</artifactId>
  4. <version>0.0.1-SNAPSHOT</version>
  5. </parent>

4.项目的生命周期

clean(清理)

此生命周期旨在给工程做清理工作,它主要包含以下阶段:
pre-clean - 执行项目清理前所需要的工作。
clean - 清理上一次build项目生成的文件。
post-clean - 执行完成项目清理所需的工作.

default(默认)

validate - 验证项目是否正确且所有必要的信息都可用。
initialize - 初始化构建工作,如:设置参数,创建目录等。
generate-sources - 为包含在编译范围内的代码生成源代码.
process-sources - 处理源代码, 如过滤值.
generate-resources -
process-resources - 复制并处理资源文件,至目标目录,准备打包。
compile - 编译项目中的源代码.
process-classes - 为编译生成的文件做后期工作, 例如做Java类的字节码增强.
generate-test-sources - 为编译内容生成测试源代码.
process-test-sources - 处理测试源代码。
generate-test-resources -
process-test-resources - 复制并处理资源文件,至目标测试目录。
test-compile - 将需测试源代码编译到路径。一般来说,是编译/src/test/java目录下的java文件至目标输出的测试classpath目录中。
process-test-classes -
test - 使用合适的单元测试框架运行测试。这些测试代码不会被打包或部署。
prepare-package -
package - 接受编译好的代码,打包成可发布的格式,如 JAR 。
pre-integration-test -
integration-test - 按需求将发布包部署到运行环境。
post-integration-test -
verify -
install -将包安装到本地仓库,给其他本地引用提供依赖。
deploy -完成集成和发布工作,将最终包复制到远程仓库以便分享给其他开发人员。

site(站点)

pre-site - 执行一些生成项目站点前的准备工作。
site - 生成项目站点的文档。
post-site - 执行需完成站点生成的工作,如站点部署的准备工作。
site-deploy - 向制定的web服务器部署站点生成文件。

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注