2016-06-02 3 views
2

Я создал банку из Intellij для кода искра + scala и попытаюсь запустить фляга в Dev кластера, но я в конечном итоге со следующей ошибкой:Как исключить META-INF/*. RSA ',' META-INF/*. SF ',' META-INF/*. DSA 'в sbt

Exception in thread "main" java.lang.SecurityException: Invalid signature file digest for Manifest main attributes 
     at sun.security.util.SignatureFileVerifier.processImpl(SignatureFileVerifier.java:286) 
     at sun.security.util.SignatureFileVerifier.process(SignatureFileVerifier.java:239) 
     at java.util.jar.JarVerifier.processEntry(JarVerifier.java:317) 
     at java.util.jar.JarVerifier.update(JarVerifier.java:228) 
     at java.util.jar.JarFile.initializeVerifier(JarFile.java:348) 
     at java.util.jar.JarFile.getInputStream(JarFile.java:415) 
     at sun.misc.JarIndex.getJarIndex(JarIndex.java:137) 
     at sun.misc.URLClassPath$JarLoader$1.run(URLClassPath.java:674) 
     at sun.misc.URLClassPath$JarLoader$1.run(URLClassPath.java:666) 
     at java.security.AccessController.doPrivileged(Native Method) 
     at sun.misc.URLClassPath$JarLoader.ensureOpen(URLClassPath.java:665) 
     at sun.misc.URLClassPath$JarLoader.<init>(URLClassPath.java:638) 
     at sun.misc.URLClassPath$3.run(URLClassPath.java:366) 
     at sun.misc.URLClassPath$3.run(URLClassPath.java:356) 
     at java.security.AccessController.doPrivileged(Native Method) 
     at sun.misc.URLClassPath.getLoader(URLClassPath.java:355) 
     at sun.misc.URLClassPath.getLoader(URLClassPath.java:332) 
     at sun.misc.URLClassPath.getResource(URLClassPath.java:198) 
     at java.net.URLClassLoader$1.run(URLClassLoader.java:358) 
     at java.net.URLClassLoader$1.run(URLClassLoader.java:355) 
     at java.security.AccessController.doPrivileged(Native Method) 
     at java.net.URLClassLoader.findClass(URLClassLoader.java:354) 
     at java.lang.ClassLoader.loadClass(ClassLoader.java:425) 
     at java.lang.ClassLoader.loadClass(ClassLoader.java:358) 
     at java.lang.Class.forName0(Native Method) 
     at java.lang.Class.forName(Class.java:270) 
     at org.apache.spark.util.Utils$.classForName(Utils.scala:174) 
     at org.apache.spark.deploy.SparkSubmit$.org$apache$spark$deploy$SparkSubmit$$runMain(SparkSubmit.scala:689) 
     at org.apache.spark.deploy.SparkSubmit$.doRunMain$1(SparkSubmit.scala:181) 
     at org.apache.spark.deploy.SparkSubmit$.submit(SparkSubmit.scala:206) 
     at org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:121) 
     at org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala) 
    enter code here 

Не могли бы вы посоветовать, как исключить детали META-INF?

Спасибо.

ответ

0

Вы хотите добавить maven-shade плагин и использовать excludes нравится следующим образом:

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-shade-plugin</artifactId> 
      .. 
      <filters> 
      <filter> 
       <artifact>*:*</artifact> 
       <excludes> 
       <exclude>META-INF/*.SF</exclude> 
       <exclude>META-INF/*.DSA</exclude> 
       <exclude>META-INF/*.RSA</exclude> 
       </excludes> 
      </filter> 
      </filters> 

Это позволит удалить подписанные файлы и решать проблему.