Java自动化测试系列[v1.0.0][Maven开发环境]

Maven的实际作用

Maven是一个项目管理工具,它包含 了一个项目对象模型 (Project Object Model),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管理系统(Dependency Management System),和用来运行定义在生命周期阶段(phase)中插件(plugin)目标(goal)的逻辑。当你使用Maven的时候,你用一个明确定 义的项目对象模型来描述你的项目,然后Maven可以应用横切的逻辑,这些逻辑来自一组共享的(或者自定义的)插件

  • 项目非常大时,可借助Maven将一个项目拆分成多个工程,最好是一个模块对应一个工程,利于分工协作。而且模块之间还是可以发送消息的
  • 借助Maven,可将jar包仅仅保存在“仓库”中,有需要该文件时,就引用该文件接口,不需要复制文件过来占用空间
  • 借助Maven可以以规范的方式下载jar包,因为所有的知名框架或第三方工具的jar包已经按照统一的规范存放到了Maven的中央仓库中
  • Maven会自动将你要加入到项目中的jar包导入,不仅导入,而且还会将该jar包所依赖的jar包都自动导入进来。

下载与配置

官方下载地址为Maven
Java自动化测试系列[v1.0.0][Maven开发环境]_第1张图片
下载后解压,然后配置MVN系统环境变量环境变量,如下图所示
在这里插入图片描述
变量名可用M2_HOME或者MAVEN_HOME,变量值就是安装目录,如果JDK配的很遛,这个同理
在这里插入图片描述
PATH:%M2_HOME%\bin;

检查Maven环境

在这里插入图片描述

配置仓库

配置本地仓库

配置MVN本地仓库物理地址,也就是maven会从中央仓库下载需要的jar包到本地,根据自己的安装,找到如下路径
在这里插入图片描述
再此路径下打开setting.xml,配置项如下,注意XML节点,配置成自己合适存放所下载jar包的路径即可
在这里插入图片描述

配置中心仓库

配置MVN中央仓库:将如下配置内容添加到镜像配置中

        <mirror>  
            <id>alimavenid>  
            <mirrorOf>centralmirrorOf>
            <name>aliyun mavenname>  
            <url>http://maven.aliyun.com/nexus/content/groups/public/url>  
        mirror>

在这里插入图片描述
此处单配置了一个镜像地址,是阿里云的地址,官方地址下载太慢可以通过这个位置的配置代替

生成.m2地址

将该文件复制如下路径下,如果没有.m2路径,启动命令行执行命令mvn help:system来生成,然后将原来的配置文件复制到生成的.m2路径下,集成开发工具,如IDEA等会自动读取.m2路径下的配置
在这里插入图片描述

配置IDEA

IDEA官方下载地址:https://www.jetbrains.com/idea/download/,默认安装即可,打开IDEA,新建一个maven项目,检查Maven的配置如图所示,箭头所指两个配置已经更新到了前边步骤中的位置
在这里插入图片描述
DEA会在右下角(注意右下角)提示你是否需要自动安装pom配置的jar包,一旦出现,就要enable它

配置pom

找到pom.xml文件,打开它,配置项目所需的依赖包,如下图配置

<dependencies>
        
        
        <dependency>
            <groupId>org.seleniumhq.seleniumgroupId>
            <artifactId>selenium-serverartifactId>
            <version>3.12.0version>
        dependency>

        
        <dependency>
            <groupId>org.seleniumhq.seleniumgroupId>
            <artifactId>selenium-javaartifactId>
            <version>3.12.0version>
        dependency>

        
        <dependency>
            <groupId>org.testnggroupId>
            <artifactId>testngartifactId>
            <version>6.14.3version>
            <scope>testscope>
        dependency>
        
        <dependency>
            <groupId>io.appiumgroupId>
            <artifactId>java-clientartifactId>
            <version>4.0.0version>
        dependency>
            
        <dependency>
            <groupId>org.apache.logging.log4jgroupId>
            <artifactId>log4j-apiartifactId>
            <version>2.11.1version>
        dependency>
        
        <dependency>
            <groupId>org.apache.logging.log4jgroupId>
            <artifactId>log4j-coreartifactId>
            <version>2.11.1version>
        dependency>
        <dependency>
            <groupId>log4jgroupId>
            <artifactId>log4jartifactId>
            <version>1.2.17version>
            <scope>testscope>
        dependency>
    dependencies>
<build>
        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.pluginsgroupId>
                    <artifactId>maven-surefire-pluginartifactId>
                    <version>2.20.1version>
                    <configuration>
                        <properties>
                            <property>
                                <name>usedefaultlistenersname>
                                <value>falsevalue>
                            property>
                            <property>
                                
                                <name>listenername>
                                <value>org.uncommons.reportng.HTMLReporter, org.uncommons.reportng.JUnitXMLReportervalue>
                            property>
                        properties>
                        <testFailureIgnore>truetestFailureIgnore>
                        
                        <suiteXmlFiles>
                            <file>testng.xmlfile>
                        suiteXmlFiles>
                        <workingDirectory>target/workingDirectory>
                        <forkMode>alwaysforkMode>
                    configuration>
                plugin>
                <plugin>
                    <artifactId>maven-clean-pluginartifactId>
                    <version>3.0.0version>
                plugin>
                
                <plugin>
                    <artifactId>maven-resources-pluginartifactId>
                    <version>3.0.2version>
                plugin>
                <plugin>
                    <artifactId>maven-compiler-pluginartifactId>
                    <version>3.7.0version>
                plugin>
                <plugin>
                    <artifactId>maven-jar-pluginartifactId>
                    <version>3.0.2version>
                plugin>
                <plugin>
                    <artifactId>maven-install-pluginartifactId>
                    <version>2.5.2version>
                plugin>
                <plugin>
                    <artifactId>maven-deploy-pluginartifactId>
                    <version>2.8.2version>
                plugin>
            plugins>
        pluginManagement>
    build>

到此Java环境完成Pom中配置的依赖可以在MVN的中央库http://mvnrepository.com/, 检索到你想要的包,配置进去即可

Maven常用命令

基本的常用命令如下:
mvn archetype:create 创建Maven项目
mvn compile 编译源代码
mvn deploy 发布项目
mvn test-compile 编译测试源代码
mvn test 运行应用程序中的单元测试
mvn site 生成项目相关信息的网站
mvn clean 清除项目目录中的生成结果
mvn package 根据项目生成的jar
mvn install 在本地Repository中安装jar
mvn eclipse:eclipse 生成eclipse项目文件
mvnjetty:run 启动jetty服务
mvntomcat:run 启动tomcat服务
mvn clean package -Dmaven.test.skip=true:清除以前的包后重新打包,跳过测试类

你可能感兴趣的:(玩转环境配置,MVN,Maven,Maven开发环境,Java开发环境)