title: Spark java.lang.NoSuchMethodError for Univocity CSV Parser setDelimiter method
body: <p>I'm trying to run a Scala Spark job that uses the Univocity CSV Parser and after upgrading to support a String delimiter (vs only character), I'm getting the following error when I run my jar in the cluster. Running it locally in my IDEA IDE produces expected results with no errors. </p>
  
  <pre><code>ERROR yarn.ApplicationMaster: User class threw exception: java.lang.NoSuchMethodError: com.univocity.parsers.csv.CsvFormat.setDelimiter(Ljava/lang/String;)V
  java.lang.NoSuchMethodError: com.univocity.parsers.csv.CsvFormat.setDelimiter(Ljava/lang/String;)V
  </code></pre>
  
  <p>I've tried the following:
  Eliminated all conflicting univocity parsers by examining the dependency tree via this:
  mvn dependency:tree -Dverbose -Dincludes=com.univocity:univocity-parsers
  which yields:</p>
  
  <pre><code>[INFO] --- maven-dependency-plugin:2.8:tree (default-cli) @ preval ---
  [INFO] dataqa:preval:jar:1.0-SNAPSHOT
  [INFO] \- com.univocity:univocity-parsers:jar:2.8.2:compile
  </code></pre>
  
  <p>I also tried to set the spark.executor.userClassPathFirst=true config when running the spark job, with no change in behavior.</p>
  
  <p>Here is the dependency section in my pom.xml:</p>
  
  <pre><code>&lt;dependency&gt;
              &lt;groupId&gt;org.scala-lang&lt;/groupId&gt;
              &lt;artifactId&gt;scala-library&lt;/artifactId&gt;
              &lt;version&gt;2.11.12&lt;/version&gt;
          &lt;/dependency&gt;
          &lt;!--
              Spark library. spark-core_2.xx must match the scala language version
          --&gt;
          &lt;dependency&gt;
              &lt;groupId&gt;org.apache.spark&lt;/groupId&gt;
              &lt;artifactId&gt;spark-core_2.11&lt;/artifactId&gt;
              &lt;version&gt;2.0.0&lt;/version&gt;
          &lt;/dependency&gt;
  
          &lt;!--
              Spark SQL library. spark-sql_2.xx must match the scala language version
          --&gt;
          &lt;dependency&gt;
              &lt;groupId&gt;org.apache.spark&lt;/groupId&gt;
              &lt;artifactId&gt;spark-sql_2.11&lt;/artifactId&gt;
              &lt;version&gt;2.0.0&lt;/version&gt;
              &lt;exclusions&gt;
                  &lt;exclusion&gt;  &lt;!-- declare the exclusion here --&gt;
                      &lt;groupId&gt;com.univocity&lt;/groupId&gt;
                      &lt;artifactId&gt;univocity-parsers&lt;/artifactId&gt;
                  &lt;/exclusion&gt;
              &lt;/exclusions&gt;
          &lt;/dependency&gt;
  
          &lt;!--
              Library to make REST API call
          --&gt;
          &lt;dependency&gt;
              &lt;groupId&gt;com.typesafe.play&lt;/groupId&gt;
              &lt;artifactId&gt;play-ahc-ws-standalone_2.11&lt;/artifactId&gt;
              &lt;version&gt;2.0.0-M1&lt;/version&gt;
          &lt;/dependency&gt;
  
  
          &lt;!--
              Parses delimited files
          --&gt;
          &lt;dependency&gt;
              &lt;groupId&gt;com.univocity&lt;/groupId&gt;
              &lt;artifactId&gt;univocity-parsers&lt;/artifactId&gt;
              &lt;version&gt;2.8.2&lt;/version&gt;
              &lt;type&gt;jar&lt;/type&gt;
          &lt;/dependency&gt;
  
          &lt;!-- https://mvnrepository.com/artifact/com.googlecode.json-simple/json-simple --&gt;
          &lt;dependency&gt;
              &lt;groupId&gt;com.googlecode.json-simple&lt;/groupId&gt;
              &lt;artifactId&gt;json-simple&lt;/artifactId&gt;
              &lt;version&gt;1.1.1&lt;/version&gt;
          &lt;/dependency&gt;
  </code></pre>
  
  <p>I wonder if Spark has a built-in dependency that is overriding my version (2.8 is the first version to support String arguments. Previously, it only supported character).</p>
  
  <p>Any insights?</p>