2016-11-29 122 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也没有构建任何东西。 –