我如何找到Java依赖项?

时间:2017-05-05 19:21:05

标签: java maven apache-spark spark-streaming

我正在关注this教程。我的代码就是:

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“Find Maven Dependency”功能都没有为我找到任何东西。

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

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

提前致谢!

2 个答案:

答案 0 :(得分:2)

您可以使用&#39;按类名搜索&#39; search.maven.org的功能,以查找您需要导入的库。

另请注意,maven依赖项是可传递的,即依赖项的依赖项也包含在项目中。

答案 1 :(得分:0)

并非特定于Maven,但是您可以查看Spark source repo,搜索所需的类,然后大致查看其所在的文件夹。

例如,SparkContext位于core/文件夹下。

注意:spark-streaming-kafka 依赖于 spark-streaming,而依赖于 spark-core,因此,如果您包括该内容,则另存为核心库(例如MLlib,SparkSQL或GraphX),那么也应引入核心。

也许您需要运行mvn compile