Maven编译错误[软件包org.testng.asserts不存在] [英] Maven compile error [package org.testng.asserts does not exist]
问题描述
当我尝试通过[mvn clean install -DskipTests]通过控制台构建项目时,出现错误.我在测试中使用了testNG SoftAssert,并在测试类中添加了import import org.testng.asserts.SoftAssert,但是看起来maven没有看到该软件包. 控制台错误:
When I try to build project via console by [mvn clean install -DskipTests] I get error. I use in my tests testNG SoftAssert and in a test class I just added an import import org.testng.asserts.SoftAssert but looks like maven does not see that package. Error from console:
软件包org.testng.asserts不存在
package org.testng.asserts does not exist
我的pom.xml看起来像
My pom.xml looks like
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.atlassian</groupId>
<artifactId>tests</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>confluence</name>
<url>http://maven.apache.org</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>6.1.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>2.48.2</version>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.16</version>
<configuration>
<suiteXmlFiles>
<suiteXmlFile>testng.xml</suiteXmlFile>
</suiteXmlFiles>
</configuration>
</plugin>
</plugins>
</build>
推荐答案
当相应的依赖版本没有您要使用的类时,会发生此类错误.在这种情况下,您正在使用的TestNG version 6.1.1
没有软件包org.testng.asserts
.尝试使用以下版本,
另外,如果您要求IDE包括TestNG library
,则它不会为SoftAsserts
导入带来错误.该TestNG
库肯定比您从pom.xml
引用的库具有更高的版本.尝试在pom.xml
&中保留相同的版本.您的IDE的testNG plugin
可以避免这种变化的行为.
Such errors occur when corresponding dependency version do not have the classes you are trying to use. In this case the TestNG version 6.1.1
you are using, does not have package org.testng.asserts
. Try using below version,
Also, it will not give error for SoftAsserts
import, if you have asked IDE to include TestNG library
. This TestNG
library surely is of higher version than the one you are referring from pom.xml
. Try to keep same versions both in pom.xml
& your IDE's testNG plugin
to avoid such varying behavior.
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>6.8.8</version>
</dependency>
以上版本肯定可以正常工作.试试看.
Above version is surely working. Give it a try.
这篇关于Maven编译错误[软件包org.testng.asserts不存在]的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!