2015-07-28 4 views
1

Я новичок в Spark. Я создал проект maven, и я придумал для него WordCount. Я получаю сообщение об ошибке:бег java spark с intellij

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/spark/api/java/function/FlatMapFunction 
    at java.lang.Class.getDeclaredMethods0(Native Method) 
    at java.lang.Class.privateGetDeclaredMethods(Class.java:2615) 
    at java.lang.Class.getMethod0(Class.java:2856) 
    at java.lang.Class.getMethod(Class.java:1668) 
    at sun.launcher.LauncherHelper.getMainMethod(LauncherHelper.java:494) 
    at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:486) 
Caused by: java.lang.ClassNotFoundException: org.apache.spark.api.java.function.FlatMapFunction 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:366) 
    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) 
Disconnected from the target VM, address: '127.0.0.1:52170', transport: 'socket' 
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:358) 

файл Maven

<?xml version="1.0" encoding="UTF-8"?> 
<project xmlns="http://maven.apache.org/POM/4.0.0" 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 
    <groupId>org.spark.test</groupId> 
    <artifactId>spark-test</artifactId> 
    <packaging>jar</packaging> 
    <version>1.0-SNAPSHOT</version> 
    <dependencies> 
     <dependency> 
      <groupId>org.apache.spark</groupId> 
      <artifactId>spark-core_2.10</artifactId> 
      <version>1.4.1</version> 
      <scope>provided</scope> 
     </dependency> 
    </dependencies> 
    <properties> 
     <java.version>1.7</java.version> 
    </properties> 
    <build> 
     <pluginManagement> 
      <plugins> 
       <plugin> 
        <groupId>org.apache.maven.plugins</groupId> 
        <artifactId>maven-compiler-plugin</artifactId> 
        <version>3.1</version> 
        <configuration> 
         <source>${java.version}</source> 
         <target>${java.version}</target> 
        </configuration> 
       </plugin> 
      </plugins> 
     </pluginManagement> 
    </build> 
</project> 

Эта ошибка появляется во время выполнения. Как я могу с этим справиться? Я слышал о SPARK_CLASSPATH, но я не знаю, как его установить.

ответ

4

provided scope означает, что JAR не будет упакован с вашим приложением во время сборки - банку будет предоставлена ​​целевая среда. Отсоедините линию:

<scope>provided</scope> 

использовать область «компиляции» по умолчанию. Ваш сервер приложений, вероятно, не предоставляет банку, поэтому последний требуется.

+0

Я могу подтвердить, что это будет делать трюк, я должен был сделать то же самое несколько недель назад, чтобы получить пример обучения-искра-мини-пример. –

+0

Спасибо, это сработало - не могли бы вы дать некоторое объяснение – Newben

+0

, также см. [Справочный документ] (http://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html#Dependency_Scope) .. .... – Reimeus

Смежные вопросы