java - Java gson fromJson 一半时间显示 SignatureParser.class source not found 错误
问题描述
奇怪的是,另一半时间它确实有效……我只是不明白为什么会这样。
对于更多上下文,我要做的是实例化 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 并且程序只是停止并弹出选项卡。
找不到类文件编辑器源 源附件不包含文件 SignaturesParser.class 的源。您可以通过单击下面的更改附件源来更改源附件。
我不知道发生了什么...我会非常感谢您的帮助。
编辑
我已经通过将它作为 Java 应用程序运行而不是使用 Eclipse 调试器运行它来使其始终如一地工作......我仍然很想知道发生了什么。但是现在我要使用 java 应用程序运行器进行测试。
解决方案
推荐阅读
- python-3.x - 如何在 Holoviews 和弦图中更改标签字体大小?
- python - 是否可以根据 python3 中的特定条件更新字典?
- azure - 检查 vm 是否启用了备份,如果没有启用它(Azure)
- c# - 在 array.convertall() 中使用 lambda 表达式
- javascript - 如何在 Jest 中模拟 Firestore .collection?
- c++ - 向量,assign() 函数未定义行为
- php - 当前 WordPress 页面标题作为标签中的搜索参数
- react-native - 如何在 react-navigation v5 中将背景图像添加到底部选项卡导航器
- node.js - 将 pdf 拆分为多个页面,最好将其拆分为多个页面,并使用 node js 将各种文件保存在一个文件夹中
- python - 获取 Discord ping 消息/Windows 10 弹出通知