首先,附上pom.xml中的build配置
<build>
<plugins>
<!-- Resource handling -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.12.4</version>
<configuration>
<suiteXmlFiles>
<suiteXmlFile>testng.xml</suiteXmlFile>
</suiteXmlFiles>
<skip>false</skip>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>2.4.1</version>
<configuration>
<encoding>UTF-8</encoding>
</configuration>
<executions>
<execution>
<phase>process-sources</phase>
</execution>
</executions>
</plugin>
<!-- Compilation -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
<encoding>utf8</encoding>
</configuration>
</plugin>
</plugins>
</build>
需要把testng.xml路径配置对,这里是相对路径,默认从工程目录下开始
注意,这里有个坑,明明都配置好了,跑起来,就是不运行测试代码,
这是因为maven-surefire-plugin插件会检查test目录下有没有名字中包含“Test”的java类,解决方法也简单,test目录下任意地方新建一个Test.java类就好了
如果想要使用maven打包并且生成源,则需要加入一个插件
<!-- source -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>2.1.1</version>
<executions>
<execution>
<id>attach-sources</id>
<goals>
<goal>jar-no-fork</goal>
</goals>
</execution>
</executions>
</plugin>
执行下面命令,打包生成源且不执行测试代码
mvn clean source:jar install -Dmaven.test.skip=true
pom文件排除不需要的包
有时配置maven依赖会引入一下不要的jar,形成冲突,删除之后,maven又会自动更新下来,非常麻烦
可以通过pom文件排除该jar包,方法如下