首页 > 解决方案 > 线程“主”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,它会给出“无法解析为类型”的错误,如果正确调用则不会发生这种错误。

标签: javaxmleclipse

解决方案


推荐阅读