maven执行命令打包

maven命令执行testgn.xml

想通过maven命令运行测试项目,需要先在pom.xml中添加插件:

            
                org.apache.maven.plugins
                maven-surefire-plugin
                2.19
                
                    once
                    -Dfile.encoding=UTF-8
                    
                        ${project.basedir}/src/main/resources/testng.xml
                    
                
            

${project.basedir}/src/main/resources/testng.xml
是testng.xml文件的路径。

然后还需要在pom.xml的project下配置,这样能识别中文:

    
        
            UTF-8
        
    

打开cmd,进到项目根目录:
mvn test 执行项目打包和测试
D:\Springboot\MyApplicationthree>mvn test
执行2条用例都执行成功了


maven执行命令打包_第1张图片
image.png

maven命令执行java测试类

在test/java目录下有一个测试类,需要通过maven命令执行java测试类,测试类必须放到test/java目录下:


maven执行命令打包_第2张图片
image.png

在pom文件中需要把上面讲到的插件先注释掉,同时加入以下插件,include中写入测试类名称:

 
                
                
                
                
                    
                    
                    
                        
                    
                
            
            
                org.apache.maven.plugins
                maven-surefire-plugin
                2.19
                
                    once
                    -Dfile.encoding=UTF-8
                    
                    
                        
                            getdatabase.java
                        
                    
                
            
maven执行命令打包_第3张图片
image.png

在cmd中进入项目根目录,输入mvn test 执行测试


maven执行命令打包_第4张图片
image.png

maven命令执行多线程并行执行

appium是在同一个设备上运行,好像不太可行,后面会再讲解
并行测试时,测试用例之间不能太耦合,就是每个测试用例都可以单独出来去执行,互相没有关联,这样才能不放到一个线程中分开并行执行。
pom文件中增加插件信息

            
                org.apache.maven.plugins
                maven-surefire-plugin
                2.19
                
                    once
                    -Dfile.encoding=UTF-8
                    
                        
                            getdatabase.java
                        
                    
                    methods
                    3
                    
                        
                            ${project.basedir}/src/main/resources/testng.xml
                        
                    

                
            
maven执行命令打包_第5张图片
image.png

maven远程调用

mvn -Dmaven.surefire.debug test
需要在idea中先设置远程调试IP和端口号,再设置断点然后调试。

为什么会有远程调试,如果把脚本放到git仓库上,另一台电脑从git仓库下载代码,通过mvn test运行测试,在本地执行程序没有问题,在另一台电脑上通过mvn执行可能会有问题,因为maven的编译器和idea、eclipse的编译器不一样,会有差别。如果出现了问题,通过在本地idea中设置远程调试另一台电脑上的代码查看mvn运行时问题出现在哪个环节。

在idea中设置远程调试步骤:
参考:https://blog.csdn.net/u014513883/article/details/53583495

maven私服

有些公司会自己去建私服,就是maven依赖的jar包仓库,在nexus网站上创建私服,会有一个id,name,产生一个url地址,上传公司内部需要的jar包,本地在pom文件中可以引用仓库地址


maven执行命令打包_第6张图片
image.png

maven项目中引入jar包流程

创建一个项目A,然后打包成jar包,被另一个项目B引入。
目前能够被其他项目引入的jar包,以我目前的知识了解的只有两种,带有main方法的项目、springboot的项目,springboot项目中是需要用Application启动项目的所以它的mainclass就是application启动项所在的路径。
先说springboot的项目,在pom文件中要先添加插件,插件代码如下:

    
        
            
                org.apache.maven.plugins
                maven-compiler-plugin
                
                    1.8
                    1.8
                
            

            
                org.springframework.boot
                spring-boot-maven-plugin
                
                    com.course.Application
                
                
                    
                        
                            repackage
                        
                    
                
            


com.course.Application
是在application启动项在src/java/com.course目录下。

如果是普通的项目,需要有main方法,如下项目:
先写一个方法:


maven执行命令打包_第7张图片
image.png

再写一个main方法:


maven执行命令打包_第8张图片
image.png

在该项目的pom文件中添加插件:
    
        
            
                org.apache.maven.plugins
                maven-compiler-plugin
                
                    1.8
                    1.8
                
            
            
                maven-assembly-plugin
                
                    
                        
                            com.yixin.TestmainTestng
                        
                    
                    
                        jar-with-dependencies
                    
                
                
                
                    
                        make-assemble
                        package
                        
                            single
                        
                    
                
            
        
    

注意:maven-compiler-plugin和springboot项目的打包插件中是一样的,不一样的是maven-assembly-plugin
com.yixin.TestmainTestng 是main方法的路径。

补充:如果是testng的项目,只需要在插件中输入:

 
        
            
                org.apache.maven.plugins
                maven-surefire-plugin
                2.7.1
                
                    
                        
                            ./src/main/resources/TestJenkins.xml
                        
                    
                
            
        
    

maven打包时会自动去找Testng.xml运行打包,也就是下面这句代码中定义的xml:

./src/main/resources/TestJenkins.xml

当然也可以利用上面讲到的maven执行java类的方法运行打包。

配置完pom文件后,就可以打包了,按如下图中操作可以很简单的打包:


maven执行命令打包_第9张图片
image.png

maven执行命令打包_第10张图片
image.png

打开cmd,进入项目jar所在目录,用java -jar jar包名称,执行jar能正常输出结果代表jar包构建成功


image.png

进入项目B中,引入项目A的jar包:


maven执行命令打包_第11张图片
image.png

maven执行命令打包_第12张图片
image.png

maven执行命令打包_第13张图片
image.png

在项目B中可以import 项目A中的类,同时可以用到该类中的方法:


maven执行命令打包_第14张图片
image.png

maven install命令介绍

项目A只想引入项目B中的某一个类,如果直接拷贝项目B中的这个类,这个类如果依赖项目B中的其他信息,则拷贝后是不能运行的,我们可以对项目B通过maven install的方式把安装项目到本地maven仓库,安装成功后会生成项目B的jar包,在项目A中导入jar包就可以直接引用了。
项目B中pom文件的插件内容和上面讲到的一样:

    
        
            
                org.apache.maven.plugins
                maven-compiler-plugin
                
                    1.8
                    1.8
                
            
            
                maven-assembly-plugin
                
                    
                        
                            com.yixin.TestMavenDependencymain
                        
                    
                    
                        jar-with-dependencies
                    
                
                
                
                    
                        make-assemble
                        package
                        
                            single
                        
                    
                
            
        
    

mainClass要记得换一下。
从idea最右边打开maven窗口,点击install,运行:


maven执行命令打包_第15张图片
image.png

运行成功,在控制台看到生成仓库地址:


maven执行命令打包_第16张图片
image.png

进入项目A用同样的方法从仓库中把jar包引进来就能直接调用了。

maven命令打war包

需要添加构建插件


        
            
            
                org.apache.maven.plugins
                maven-war-plugin
                
                    false
                
            
            
                org.apache.maven.plugins
                maven-surefire-plugin
                
                    true
                
            
            
                maven-resources-plugin
                
                    utf-8
                    true
                
            
            
        

        
            
                src/main/java
                
                    **/*.yml
                    **/*.properties
                    **/*.xml
                
                false
            
            
                src/main/resources
                
                    **/*.yml
                    **/*.properties
                    **/*.xml
                    *.properties
                    **/**
                
                false
            
        
    
maven执行命令打包_第17张图片
image.png

输入mvn clean package命令就可以打war包


maven执行命令打包_第18张图片
image.png

你可能感兴趣的:(maven执行命令打包)