These are the dependencies inside - this is my file pom.xml. When I run the driver from my maven project as a Scala application, it works fine. But when I create jar-with-dependencyand try to run my project throughspark-submit
spark-submit --class package.signature.Driver --master local[*] /path/to/my/jar-with-dependencies.jar
I get the following exception.
Exception in thread "main" java.lang.NoSuchMethodError :. Org.apache.http.conn.ssl.SSLConnectionSocketFactory (Ljavax / network / SSL / SSLContext; [Ljava / languages / String; [Ljava / languages / String; Ljavax / network / SSL / HostnameVerifier;) V, in com.gargoylesoftware. htmlunit.httpclient.HtmlUnitSSLConnectionSocketFactory. (HtmlUnitSSLConnectionSocketFactory.java:125) in com.gargoylesoftware.htmlunit.httpclient.HtmlUnitSSLConnectionSocketFactory.buildSSLSocketFactory (HtmlUnitSSLConnectionSocketFactory.java:112) in com.gargoylesoftware.htmlunit.HttpWebConnection.configureHttpsScheme (HttpWebConnection.java:597) in com.gargoylesoftware.htmlunit. HttpWebConnection.createHttpClient (HttpWebConnection.javaPoint32) in com.gargoylesoftware.htmlunit.HttpWebConnection.getHttpClientBuilder (HttpWebConnection.java:494) in com.gargoylesoftware.htmlWitconnection.ttgetResponse (HttpWebConnection.java:158) in com.gargoylesoftware.htmlunit.WebClient.loadWebResponseFromWebConnection (WebClient.java:1321) in com.gargoylesoftware.htmlunit.WebClient.loadWebResponj.gt.client.wlogle.client.client.client.jt .getPage (WebClient.javahaps46) in com.gargoylesoftware.htmlunit.WebClient.getPage (WebClient.java:415) in org.openqa.selenium.htmlunit.HtmlUnitDriver.get (HtmlUnitDriver.javahaps41) in org.open selenium.htmlunit.HtmlUnitDriver.get (HtmlUnitDriver.java∗30)getPage (WebClient.java:415) in org.openqa.selenium.htmlunit.HtmlUnitDriver.get (HtmlUnitDriver.java∗41) in org.openqa.selenium.htmlunit.HtmlUnitDriver.get (HtmlUnavaDriver)getPage (WebClient.java:415) in org.openqa.selenium.htmlunit.HtmlUnitDriver.get (HtmlUnitDriver.java∗41) in org.openqa.selenium.htmlunit.HtmlUnitDriver.get (HtmlUnavaDriver)
.getPageSource
import org.openqa.selenium.htmlunit.HtmlUnitDriver
import java.util.concurrent.TimeUnit
import scala.concurrent.duration._
import org.apache.spark.Logging
object Selenium extends Logging {
val driver = new HtmlUnitDriver(false)
val implicitWaitTimeout = 30
driver.manage.timeouts.implicitlyWait(implicitWaitTimeout, TimeUnit.SECONDS)
def getPageSource(urlPage: String): String = {
driver.get(urlPage)
driver.getPageSource
}
}
, .
apache-httpcomponent. .