java.lang.NoClassDefFoundError: org/openqa/selenium/remote/ProtocolHandshake

Hi All,
From last several days i am running the appium test cases, But all of sudden i am getting NoClassDefFoundError : org/openqa/selenium/remote/ProtocolHandshake . I tried below options.

  1. Upgrading the java-client … from 7.0.0 to 7.3.0
  2. Reinstalled my appium desktop 1.15.1
  3. updated selenium-java

But non of them really working. I would really appreciate if some can help me on this.

java.lang.NoClassDefFoundError: org/openqa/selenium/remote/ProtocolHandshake at io.appium.java_client.AppiumDriver.<init>(AppiumDriver.java:97) at io.appium.java_client.android.AndroidDriver.<init>(AndroidDriver.java:94) at com.telus.vocalcontrol.task.OoklaSpeedTestTask.performTaskLoop(OoklaSpeedTestTask.java:103) at com.telus.vocalcontrol.task.OoklaSpeedTestTask.performTaskLoop(OoklaSpeedTestTask.java:1) at com.telus.vocalcontrol.task.framework.Task.performTask(Task.java:80) at com.telus.vocalcontrol.JobScheduler$RunConfiguraiton.lambda$0(JobScheduler.java:221) at java.util.stream.ReferencePipeline$3$1.accept(Unknown Source) at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(Unknown Source) at java.util.stream.AbstractPipeline.copyInto(Unknown Source) at java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source) at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(Unknown Source) at java.util.stream.AbstractPipeline.evaluate(Unknown Source) at java.util.stream.ReferencePipeline.collect(Unknown Source) at com.telus.vocalcontrol.JobScheduler$RunConfiguraiton.run(JobScheduler.java:256) at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) at java.util.concurrent.FutureTask.run(Unknown Source) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(Unknown Source) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source)

gradle file:

<modelVersion>4.0.0</modelVersion>
<groupId>com.xxvocalcontrol</groupId>
<artifactId>AppiumProxyServices</artifactId>
<packaging>war</packaging>
<version>0.0.1-SNAPSHOT</version>
<name>AppiumProxyServices</name>

<build>
	<finalName>AppiumProxyServices</finalName>
	<plugins>
		<plugin>
			<groupId>org.apache.maven.plugins</groupId>
			<artifactId>maven-compiler-plugin</artifactId>
			<version>2.5.1</version>
			<inherited>true</inherited>
			<configuration>
				<source>1.8</source>
				<target>1.8</target>
			</configuration>

		</plugin>

		<plugin>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-maven-plugin</artifactId>
			<configuration>
				<mainClass>com.xxvocalcontrol.AppiumProxyApp</mainClass>
			</configuration>

			<executions>
				<execution>
					<goals>
						<goal>repackage</goal>
					</goals>
				</execution>
			</executions>

		</plugin>


	</plugins>
</build>

<dependencyManagement>
	<dependencies>

		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-parent</artifactId>
			<version>1.5.21.RELEASE</version>
			<scope>import</scope>
			<type>pom</type>
		</dependency>

	</dependencies>
</dependencyManagement>

<dependencies>


	<!-- Adding spring boot cap -->
	<dependency>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-web</artifactId>
	</dependency>

	<dependency>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-tomcat</artifactId>
		<scope>provided</scope>
	</dependency>

	<dependency>
		<groupId>org.springframework.restdocs</groupId>
		<artifactId>spring-restdocs-mockmvc</artifactId>
		<scope>test</scope>
	</dependency>


	<!-- selenium compatible 3.141.59 to io.appium java client -->
	<dependency>
		<groupId>org.seleniumhq.selenium</groupId>
		<artifactId>selenium-java</artifactId>
		<version>3.141.59</version><!--$NO-MVN-MAN-VER$ -->
	</dependency>


	<!-- JAX-RS -->
	<dependency>
		<groupId>javax.ws.rs</groupId>
		<artifactId>javax.ws.rs-api</artifactId>
		<version>${jaxrs.version}</version>
	</dependency>


	<dependency>
		<groupId>org.glassfish.jersey.containers</groupId>
		<artifactId>jersey-container-servlet-core</artifactId>
		<!-- use the following artifactId if you don't need servlet 2.x compatibility -->
		<!-- artifactId>jersey-container-servlet</artifactId -->
	</dependency>
	
	<!-- https://mvnrepository.com/artifact/org.simpleframework/simple-xml -->
	<dependency>
		<groupId>org.simpleframework</groupId>
		<artifactId>simple-xml</artifactId>
		<version>2.7.1</version>
	</dependency>

	<!-- uncomment this to get JSON support -->
	<dependency>
		<groupId>com.thetransactioncompany</groupId>
		<artifactId>cors-filter</artifactId>
		<version>1.7</version>
	</dependency>

	<!-- Log4j -->
	<dependency>
		<groupId>log4j</groupId>
		<artifactId>log4j</artifactId>
		<version>1.2.17</version>
	</dependency>

	<!-- apache Log4j extras -->
	<dependency>
		<groupId>log4j</groupId>
		<artifactId>apache-log4j-extras</artifactId>
		<version>1.2.17</version>
	</dependency>

	<!-- apache Log4j extras -->
	<dependency>
		<groupId>org.slf4j</groupId>
		<artifactId>slf4j-api</artifactId>
	</dependency>

	<dependency>
		<groupId>org.slf4j</groupId>
		<artifactId>slf4j-log4j12</artifactId>
		<scope>test</scope>
	</dependency>

	<!-- Mongo DB driver -->
	<dependency>
		<groupId>org.mongodb</groupId>
		<artifactId>mongodb-driver-sync</artifactId>
		<version>3.10.1</version>
	</dependency>



	<!-- https://mvnrepository.com/artifact/io.appium/java-client -->
	<dependency>
		<groupId>io.appium</groupId>
		<artifactId>java-client</artifactId>
		<version>7.0.0</version>
	</dependency>


	<!-- https://mvnrepository.com/artifact/junit/junit -->
	<dependency>
		<groupId>junit</groupId>
		<artifactId>junit</artifactId>
		<scope>test</scope>
	</dependency>

	<!-- https://mvnrepository.com/artifact/org.apache.commons/commons-math3 -->
	<dependency>
		<groupId>org.apache.commons</groupId>
		<artifactId>commons-math3</artifactId>
		<version>3.6.1</version>
	</dependency>

	<!-- https://mvnrepository.com/artifact/com.googlecode.json-simple/json-simple -->
	<dependency>
		<groupId>com.googlecode.json-simple</groupId>
		<artifactId>json-simple</artifactId>
	</dependency>

<!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger2 -->
	<dependency>
		<groupId>io.springfox</groupId>
		<artifactId>springfox-swagger2</artifactId>
		<version>2.9.2</version>
	</dependency>
	
	<dependency>
		<groupId>io.springfox</groupId>
		<artifactId>springfox-swagger-ui</artifactId>
		<version>2.9.2</version>
	</dependency>


</dependencies>
<properties>
	<jersey.version>2.28</jersey.version>
	<jaxrs.version>2.0.1</jaxrs.version>
	<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
	<start-class>com.xxvocalcontrol.AppiumProxyApp</start-class>

</properties>

@srikanth_bandalamudi Any update for Your Question/Error? I am also in need for its Solution. Seems ppl or Google is missing any solution for this