Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Maven-java.lang.NoSuchFieldError:使用Appium进行测试时的实例_Maven_Appium - Fatal编程技术网

Maven-java.lang.NoSuchFieldError:使用Appium进行测试时的实例

Maven-java.lang.NoSuchFieldError:使用Appium进行测试时的实例,maven,appium,Maven,Appium,我有一个Maven项目,它用Appium测试一些移动应用程序。当我尝试从mvn test-Dtest=AppiumTest运行它时,我得到下面的异常 下面是我对pom.xml的依赖性: <dependency> <groupId>io.appium</groupId> <artifactId>java-client</artifactId> <version>2.1.0</version>

我有一个Maven项目,它用Appium测试一些移动应用程序。当我尝试从
mvn test-Dtest=AppiumTest运行它时,我得到下面的异常

下面是我对pom.xml的依赖性:

<dependency>
    <groupId>io.appium</groupId>
    <artifactId>java-client</artifactId>
    <version>2.1.0</version>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.3.2</version>
</dependency>

NoSuchFieldError:如果应用程序试图访问或修改对象的指定字段,而该对象不再具有该字段,则引发该错误。 通常,编译器会捕获此错误;只有在类的定义发生不兼容的更改时,才会在运行时发生此错误


解决方案: 如果仅部分重新编译代码,通常会引发此错误。您的旧代码引用了重新编译的类文件中不再存在的字段。解决方案是清除所有类文件并从新编译所有内容

如果在运行时仍然抛出错误,则可能使用库的一个版本进行编译,但在运行时使用另一个版本。必须验证类路径是否包含指定库的正确版本

也可以尝试使用:

<dependency>
            <groupId>io.appium</groupId>
            <artifactId>java-client</artifactId>
            <version>3.1.0</version>
            <scope>compile</scope>
 </dependency>

木卫一
java客户端
3.1.0
编译

出现错误的类位于
httpcore
库中,它是
httpclient
的依赖项。也许其他库正在使用旧版本

尝试添加到您的
pom.xml

<dependency>
    <groupId>org.apache.httpcomponents</groupId>
    <artifactId>httpclient</artifactId>
    <version>4.3.2</version>
</dependency>
verbose
模式下,依赖关系树显示忽略的依赖关系:与另一个重复、与另一个版本和/或范围冲突,以及在依赖关系树中引入循环


是的,在上述Appium Java客户端版本和httpclient 4.3.1中,我的代码终于可以与Appium通信了。谢谢!:使用上面的命令,我可以解决依赖性问题。现在我的代码正在与Appium通信。谢谢
<dependency>
    <groupId>org.apache.httpcomponents</groupId>
    <artifactId>httpclient</artifactId>
    <version>4.3.2</version>
</dependency>
mvn dependency:tree -Dverbose -Dincludes=httpcore