Eclipse не обнаруживает функцию Java main() при добавлении функций Spark

Я тестирую Spark с помощью java и сталкиваюсь с некоторыми проблемами при запуске моей программы с использованием Eclipse.

Код теста следующий:

package projet1;


import org.apache.log4j.Level;
import org.apache.log4j.Logger;
import org.apache.spark.SparkConf;
import org.apache.spark.api.java.JavaRDD;
import org.apache.spark.api.java.JavaSparkContext;

public class projet1 {

    public static void main(String[] args) {
    System.out.println("Hello world");
    System.setProperty("hadoop.home.dir", "/home/user1/Spark_Projects");
    Logger.getLogger("org.apache").setLevel(Level.WARN);

    SparkConf conf = new SparkConf().setAppName("SiravPg").setMaster("local[*]");
    JavaSparkContext sc = new JavaSparkContext(conf);
    JavaRDD<String> myRDD = sc.textFile("src/main/ressources/data.txt")
    sc.close();
    }

}

При запуске этого кода кажется, что eclipse не обнаруживает мою функцию main() и отображает новое окно с просьбой выбрать приложение Java.

Java-приложение

PS: «System.out.println («Привет, мир»);» работает правильно.

во-первых, почему у вас есть "финальное" ключевое слово? во-вторых, это не имеет смысла, если println работает правильно, это показывает, что ваш основной метод не только найден, но и работает

Stultuske 21.01.2019 10:44

Println запускается, только если я прокомментирую весь оставшийся код и оставлю его в покое, но с включенным остальным кодом ничего не запускается.

Aziz Azizos 21.01.2019 10:49
stackoverflow.com/questions/19649949/…
Kishore 21.01.2019 10:58

@Kishore Я пробовал все упомянутые решения, но безуспешно.

Aziz Azizos 21.01.2019 12:04

Вы уверены, что Eclipse правильно компилирует ваш класс, если у вас есть раскомментированный материал spark? Может быть, попробовать разделить основной метод и инициализацию и начать с отладчика...

keuleJ 21.01.2019 13:31

Вы пытались добавлять вещи шаг за шагом? например, без ведения журнала и т. д., просто чтобы увидеть, что на самом деле является оскорбительной строкой. Второй вариант: вы пытались запустить его через Maven?

jgp 25.01.2019 14:34
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
6
53
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Просто используйте public static void main(String[] args) вместо public static void final main(String[] args).

Ответ принят как подходящий

Решение этой проблемы состоит в том, чтобы выбрать класс для запуска из отображаемого списка, в моем случае я выбираю проект1 и нажимаю кнопку «ОК».

Другие вопросы по теме