Android Studio не удалось найти основной класс файла "Scratch"

Я использую Android Studio 3.3 и создал scratch файл (File > new > Scratch File > Java). IDE создан scratch.java в ~/.AndroidStudio3.3/config/scratches:

class Scratch {
    public static void main(String[] args) {

    }
}

Но когда я запускаю этот скретч-файл (нажатием зеленой кнопки рядом с именем класса или main метод), я получаю эту ошибку:

Error: Could not find or load main class Scratch

Я думаю, что IDE не делает Scratch.class так что Java не могу найти это. Есть ли способ решить эту проблему и запустить чистые файлы из IDE (без использования Terminal)?

0 ответов

Обновить

Я только что заметил, что эта проблема исправлена ​​в Android Studio 3.5!


Единственный способ заставить это работать (в Android Studio 3.4.1) - это очень грязный подход:

  1. Идти к Run > Edit Configurations > Scratch
  2. В Before launch внизу добавить (+) Run External tool
  3. Во всплывающем окне внешних инструментов нажмите + и заполните следующие Tool Settings

    Имя:Compile Scratch

    Программа:javac

    Аргументы:$FileName$

    Рабочий каталог: каталог ваших рабочих файлов

  4. Нажмите ОК
  5. Снова во всплывающем окне External Tools нажмите + и заполните следующие Tool Settings

    Имя:Run Scratch

    Программа:java

    Аргументы:$FileClass$

    Рабочий каталог: каталог ваших рабочих файлов

  6. Нажмите ОК и Применить в конфигурациях запуска / отладки

Как ни странно, это работает, только если вы используете зеленые стрелки рядом с объявлением класса / основного. Если вы используете кнопку "Выполнить" в меню, это тоже не сработает.

Вы все равно получите сообщение об ошибке "Не найдено" в Scratchвкладка окна запуска. Но появятся две дополнительные вкладки (по одной для каждого внешнего инструмента). вRun Scratch tab вы получите свой результат.

Мне лично это не нравится, но это лучшее решение, которое я придумал.

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