2016-11-29 123 views
0

我有一個簡單的Scala Maven的模塊,它是一個更大的項目的一部分(我創造了在這裏描述的:https://www.jetbrains.com/help/idea/2016.2/creating-a-maven-module.html):導入我的罐子火花外殼

package com.myorg.simplr 

import [...] 

@SerialVersionUID(100L) 
case class Simplr(){ 
    //class code 
} 

我想在火花使用這個類所以我構建了一個jar文件「simplr-1.0.jar」,並使用--jars simplr-1.0.jar啓動了Spark殼。

然後,當我嘗試導入,我得到以下

scala> import com.myorg.simplr.Simplr 
<console>:25: error: object myorg is not a member of package com 
     import com.myorg.simplr.Simplr 
        ^

我怎樣才能使進口工作?

我使用Maven構建,這是我的pom.xml中:

<?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"> 
    <parent> 
     <artifactId>my-parent-project</artifactId> 
     <groupId>com.myorg</groupId> 
     <version>1.0</version> 
    </parent> 
    <modelVersion>4.0.0</modelVersion> 

    <artifactId>simplr</artifactId> 
    <version>1.0</version> 

    <dependencies> 
     <dependency> 
      <groupId>org.apache.spark</groupId> 
      <artifactId>spark-sql_2.10</artifactId> 
      <version>1.6.0</version> 
      <scope>provided</scope> 
     </dependency> 

     <dependency> 
      <groupId>org.apache.spark</groupId> 
      <artifactId>spark-mllib_2.10</artifactId> 
      <version>1.6.0</version> 
      <scope>provided</scope> 
     </dependency> 
    </dependencies> 

</project> 

回答

1

請確保以下一些點,它會工作 1.啓動火花殼狀./spark-shell --jars jar_path 2.有類文件的jar在你導入的同一個軟件包下,打開jar並檢查它。 3.在開始點火之後轉到http://localhost:4040/environment/您的jar將會在classpath條目中或不在。

+0

謝謝,這有幫助。顯然,IntelliJ並沒有自動爲pom.xml添加一個構建部分,maven也沒有構建任何東西。 –