2017-05-05 71 views
1

我正在关注this教程。我的代码是这样的:我如何找到Java依赖关系?

package com.ipponusa; 

import org.apache.spark.SparkConf; 
import org.apache.spark.api.java.JavaSparkContext; 
import org.apache.spark.streaming.Duration; 
import org.apache.spark.streaming.api.java.JavaStreamingContext; 

public class SparkStringConsumer { 

    public static void main(String[] args) { 

     SparkConf conf = new SparkConf() 
       .setAppName("kafka-sandbox") 
       .setMaster("local[*]"); 
     JavaSparkContext sc = new JavaSparkContext(conf); 
     JavaStreamingContext ssc = new JavaStreamingContext(sc, new Duration(2000)); 

     // TODO: processing pipeline 

     ssc.start(); 
     ssc.awaitTermination(); 
    } 
} 

我的Maven依赖是:

<dependency> 
    <groupId>org.apache.spark</groupId> 
    <artifactId>spark-streaming-kafka_2.10</artifactId> 
    <version>1.6.0</version> 
</dependency> 

的问题是,代码和进口都有错误。我不知道我需要什么依赖关系,我不知道如何找出我需要的依赖关系。我是Java新手。

所以我的问题是,我该如何知道我需要什么依赖关系?

注意:IntelliJ或Netbeans的“查找Maven依赖项”功能都没有为我找到任何东西。

编辑:如果我去here我可以找到我正在寻找的类,但我找不到那里的依赖关系。

编辑:如果我去here我可以找到很长的依赖列表,但我找不到那些有我需要的类。

在此先感谢!

+0

你可以搜索maven仓库[这里]的依赖关系(https://mvnrepository.com/search?q=org.apache.spark) –

+0

如何搜索特定的东西,比如** import org.apache .spark.streaming.api.java.JavaStreamingContext; **?当我尝试没有结果时显示。 – Ryan

+0

Maven回购搜索查询是组和工件。我们不能有FQN那里:( –

回答

1

我想你应该添加火花核心太

<dependency> 
    <groupId>org.apache.spark</groupId> 
    <artifactId>spark-core_2.10</artifactId> 
    <version>2.1.0</version> 
</dependency> 

<dependency> 
    <groupId>org.apache.spark</groupId> 
    <artifactId>spark-streaming_2.10</artifactId> 
    <version>2.1.0</version> 
</dependency> 
+0

它仍然不起作用。我可能需要其他依赖项吗?另外,如何找出需要的依赖关系? – Ryan

2

您可以使用search.maven.org“搜索通过类名”功能找到你需要导入库。

还要记住,maven依赖关系是可传递的,即依赖项的依赖关系也包含在您的项目中。