Maven

Maven

maven是apach开源的一个项目管理工具,maven在美国口语中表示专家、内行的意思,因此它可以做很多事情。

maven可以解决的问题:

  • 自动引用各种jar包,不用自己搜索下载导入
  • 编译Java文件(IDEA也可以即时编译)
  • 自动运行单元测试,不用自己做
  • 项目打包并部署项目

maven的两个经典应用:

  • Maven的依赖管理:普通项目的jar直接放在项目里,项目之间不可重用;而maven工程的jar包存放在jar的仓库中,使用jar的坐标找到jar包(索引/指针,在pom.xml文件内)。
  • 项目的一键构建:一个命令完成项目编译、测试、报告、打包、部署。

安装和配置

安装

  1. 从官网下载
  2. 解压即可
  3. 配置环境变量
    • 系统变量设置MAVEN_HOME等于D:\apache-maven-3.5.2-bin
    • 在系统变量Path中添加%MAVEN_HOME%\bin
  4. 注意:maven运行依赖jdk,并且有系统变量JAVA_HOME
  5. cmd窗口运行mvn -v检测

仓库配置

maven会自动将需要的jar包从*仓库下载到c盘,这里叫本地仓库。

公司一般建立一个自己的仓库,叫远程仓库(私服)。远程仓库可以从*仓库下载,也可以自己上传。

因此,maven工程先从本地找,再从远程找,再从*找。

设置本地仓库位置:找到conf目录下面的settings.xml文件,在注释下面添加

  • <localRepository>D:\maven_repository</localRepository>

IDEA集成

在intelliJ IDEA中构建maven项目,首先安装好maven,然后:

  1. settings->Build Tools->maven设置
    • Maven home directory: 自己安装位置
    • User setting file: 配置文件位置(安装位置下面)
    • Local repository: 本地仓库位置
  2. settings->Build Tools->maven->runner设置本地仓库优先
    • VM Options: -DarchetypeCatalog=internal

创建JavaWeb工程:

  1. new project->maven->使用maven工程提供的模板

    • 选择Create from archetype
    • 选择org.apache.maven.archetypes:maven-archetype-webapp
  2. 设置项目名、maven安装位置、配置文件、本地仓库(检查是否和上面一致)。

  3. 在src/main下面创建两个文件夹javaresources

    • 右键java->mark directory as->sources root
    • 右键resources->mark directory as->resources root
  4. 创建一个servlet,并集成HttpServlet(此时不能继承,因为新工程还没有jar包)

  5. 打开pom.xml文件,添加项目所需要的jar包

    • 有jar包提示,说明本地有jar包;
    • 否则,从maven*仓库找到配置信息,复制即可,电脑可自动下载。
    <dependency>
          <groupId>javax.servlet</groupId>
          <artifactId>javax.servlet-api</artifactId>
          <version>3.1.0</version>
        </dependency>
        <dependency>
          <groupId>javax.servlet.jsp</groupId>
          <artifactId>jsp-api</artifactId>
          <version>2.0</version>
    </dependency>
    
  6. 编写servlet,如req.getRequestDispatcher("/hello.jsp").forward(req, resp);

  7. IDEA右侧有一个maven面板,里面有许多命令,如果没有找到execute maven goal,并执行命令tomcan:run

目录结构 :

--.settings // 工具生成的文件
--src  // 源代码
	--main //
		--java		 // 项目源码
		--resources	 // 配置文件
		--webapp	 // web页面
	--test
		--java		// 测试源码
		--resources	// 测试的配置文件
--target // 编译生成的文件
pom.xml // maven配置文件

常用命令

执行maven命令,需要进入项目的根目录

  1. 清楚:mvn clean (新环境,都需要先清楚)
  2. 编译:mvn compile 生成targe文件夹,里面都是编译文件
  3. 测试:mvn test 执行src/test/java下的所有单元测试
  4. 打包:mvn package 将java工程打包成jar包,将web工程打包成war包(到target文件夹)
  5. 安装:mvn install 打包并发布到本地仓库(本地仓库中会有 自己定义的包的路径)
  6. 发布:mvn deploy 部署之前需要设置配置文件(先跳过这里)

声明周期:(了解)

  • 清理生命周期:上面第一个命令,构建项目之前进行清理工作
  • 默认声明周期:上面2-6个命令,也是核心部分
  • site声明周期:生成项目报告、站点,发布站点。

工程运行调试

上一篇:db4o官方停止支持及面向对象数据库的一些感想


下一篇:Maven常用命令(转载)