Maven笔记

Maven笔记

标准项目结构:

/Hello
	/src
		/main
			/java
			/resources
		/test
			/java
			/resources
	/pom.xml

GAV坐标

<groupId>org.slu</groupId>
<artifactId>project</artifactId>
<version>1.0</version>

<!-- 项目打包类型, 可选jar, ear, war, rar, pom等 -->
<packaging>jar</packaging>

依赖

<dependencies>
    <!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>8.0.16</version>
    </dependency>
</dependencies>

修改本地仓库位置

${MAVEN_HOME}/conf/settings.xml文件中添加:

<!-- localRepository
   | The path to the local repository maven will use to store artifacts.
   |
   | Default: ${user.home}/.m2/repository
  <localRepository>/path/to/local/repo</localRepository>
  -->
<localRepository>/home/piner/projects/mavenrepository</localRepository>

Maven的生命周期

验证、编译、测试、包装、检查、安装、部署

单元测试

  1. 加入依赖
<!-- https://mvnrepository.com/artifact/junit/junit -->
<dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>4.12</version>
    <scope>test</scope>
</dependency>
  1. src/test/java中加入测试代码

    约定:

    1. 测试类以Test开头
    2. 测试类和原类包名相同
    3. 定义要测试的方法代码:
      • public
      • 无返回值
      • Test开头
      • 没有参数
    4. 方法可以单独运行
    5. 方法加注解@Test
    6. 使用Assert类中的assertEquals()方法测试是否正确(期望值,实际值)

Maven命令

mvn clean

清除target文件内内容

mvn compile

编译java文件,生成class文件

mvn test-compile

编译测试用java文件,生成测试用class文件

mvn test

运行测试程序,测试报告在target/surefire-reports文件夹下

mvn package

打包,生成jarwar等包文件

mvn install

部署到本地Maven仓库

自定义配置插件

pom.xml文件中的project标签内添加:

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <configuration>
                <source>1.8</source>		<!-- 指定JDK编译版本 -->
                <target>1.8</target>		<!-- 指定JDK运行版本 -->
            </configuration>
        </plugin>
    </plugins>
</build>

在IDEA中设置Maven

在FIle->settings中,找到Build,Execution,Deployment->Build Tools->Maven->Runner

设置VM Options为-DarchetypeCatalog=internal(不下载文件,加快创建速度),并选择合适JRE

在Maven中选择自己的Maven

web项目依赖

<dependency>
	<groupId>javax.servlet</groupId>
    <artifactId>javax.servlet-api</artifactId>
    <version>3.1.0</version>
    <scope>provided</scope>
</dependency>

<dependency>
	<groupId>jaax.servlet.jsp</groupId>
    <artifactId>jsp-api</artifactId>
    <version>2.1</version>
</dependency>

依赖管理

依赖范围scope:

  1. compile:参与构建项目的所有阶段
  2. test:只在测试阶段起作用
  3. provided:项目部署时由服务器提供相关依赖jar包
<!-- 定义与使用全局变量 -->
<properties>
	<myversion>1.0.1</myversion>
</properties>

<dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>${m}</version>
    <scope>test</scope>
</dependency>
上一篇:flutter Dynamic updates 热更新 版本更新


下一篇:bom ,dom