Java gson fromJson показывает половину времени, что ошибка SignatureParser.class не найдена - PullRequest
0 голосов
/ 15 сентября 2018

И любопытно, что в другой половине времени это действительно работает ... Я просто не понимаю, почему это происходит.

Для еще большего контекста я пытаюсь сделать следующее:для создания объекта Objecto класса Indexer, определенного следующим образом:

public class Indexer {

private String name;
private List<String> allTerms = new ArrayList<String>();
private List<String> filePaths = new ArrayList<String>();
private List<double[]> fileVectors = new ArrayList<double[]>();
/* and the propper setters and getters*/

И вот где загружается экземпляр из файла .json.

public Indexer loadIndex(String indexPath) {
    try {
        String jsonString = new FatherFileReader().getFileContent(indexPath);
        Gson gson = new GsonBuilder().create();
        JsonElement root = new JsonParser().parse(jsonString);
        Indexer indexer = gson.fromJson(root, Indexer.class);
        System.out.println(indexer.getName());
        return indexer;

    } catch(Exception e){
        e.printStackTrace();
    }
    return null;

Когда я его выполняю,он действительно печатает имя атрибута из объекта индексатора, но во второй раз, когда я пытаюсь, рядом с консолью появляется вкладка с именем SignatureParser.class со следующим сообщением.И в третий раз попробую ... опять работает !!И так далее ... Кроме того, он не попадает в блок catch, поэтому он не печатает StackTrace, а программа просто останавливается и всплывает вкладка.

Class File Editor Sourceне найдено Исходное вложение не содержит источника для файла SignaturesParser.class.Вы можете изменить исходное вложение, нажав «Изменить вложенный источник» ниже.

Я не знаю, что происходит ... Я был бы очень благодарен за помощь.


РЕДАКТИРОВАТЬ

Я уже заставил его работать стабильно, запустив его как приложение Java, вместо того, чтобы запускать его с отладчиком eclipse ... Мне все еще любопытно узнать, что происходит.Но сейчас я собираюсь протестировать с приложением Java Java Runner.

...