java - 线程“主”core.ops.SignatureUnificationException 中的异常:找不到名为:ClassName 的类。找不到非主类
问题描述
虽然我已经看到主类发生了这种情况并修复了它,但我现在收到一个错误,我的主类找不到我为创建对象而创建的另一个类。这些类位于同一个 Eclipse 项目文件中,该文件使用 sinbad 读取 xml。课程是
public class RiverRunner {
public static void main(String[] args) {
String code1="abag1";
DataSource ds1= DataSource.connectAs("xml","https://water.weather.gov/ahps2/rss/obs/"+code1+".rss");
ds1.setCacheTimeout(100);
ds1.load();
//ds1.printUsageString();'
System.out.printf("");
//Rivers ob1 = new Rivers();
Rivers ob1 = ds1.fetch("Rivers", "title", "geo:lat", "geo:long");
System.out.println(code1 + ": " + ob1);
}
}
public class Rivers {
private String name;
private float lat;
private float lon;
public Rivers(String name, float lat, float lon) {
this.name=name;
this.lat=lat;
this.lon=lon;
}
//as of yet unwritten methods
}
精确的误差是
Exception in thread "main" core.ops.SignatureUnificationException: could not find a class named: Rivers (ds:no-class)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at core.log.Errors.exception(Errors.java:57)
at core.sig.SigUtils.classFor(SigUtils.java:32)
at core.data.DataSource.fetch(DataSource.java:705)
at RequiredPackage.RiverRunner.main(RiverRunner.java:20)
我听说它与 .classpath 有关,但我不知道如何打开或编辑它,也不知道它应该是什么样子。项目中的其他 .java 文件显示相同的问题。复制粘贴功能性 .classpath 不起作用。最后,RiverRunner 在某种程度上承认 Rivers 是真实的,因为如果我在创建 ob1 时拼错了 Rivers,它会给出“无法解析为类型”的错误,如果正确调用则不会发生这种错误。
解决方案
推荐阅读
- linux - 在 ubuntu 上查找文件
- docker - 我可以在 Dockerfile 中结合 COPY 指令来最小化镜像层的数量吗?
- sql - 尝试制作Reddit的ER图
- javascript - Javascript 秒表希望时钟元素成为 div 而不是输入
- jsf - 如何从 JSF 中的视图列表中获取列?
- core-data - 带有Core Data的SwiftUI在Xcode 12的模拟器中获得黑屏
- flutter - 如何在 Flutter 中添加装饰 DropdownButton
- c# - 如何在 WPF 用户控件中的整个 Grid LeftClick 上绑定命令
- node.js - Nodemailer 无法使用本地 smtp 服务器
- javascript - 如何禁用下个月和下个月以及如何禁用某些日子(灰色)?