【问题标题】:java classpath cannot find symboljava类路径找不到符号
【发布时间】:2011-10-24 00:13:08
【问题描述】:

我对 Java 的体验:只读

我的代码中有这些行:

import com.altova.io.*;
import com.mapforce.*;

这些包在我的类路径中的 Mapping.jar 中,确实是第一个。 Javac -verbose 承认这一点:

[search path for source files: Mapping.jar,.,[etc]

但是,当编译器到达使用行时:

[loading com/altova/io/Input.class(com/altova/io:Input.class)]
ShapeTypeFiddle.java:339: cannot find symbol
symbol  : class io
location: package com.altova
            com.altova.io.StringInput(sthing.toString());
                      ^

(+另外两个,一个是MappingMapToinput2Output.run(input, output),另一个是output.getContent()调用。)

解压 Mapping.jar 文件会显示 Input.class、MappingMapToinput2Output.class 和 Output.class 类文件的已编译 .class 文件。

我还能检查什么?

【问题讨论】:

    标签: java classpath


    【解决方案1】:

    它正在寻找应该有静态方法StringInput 的类io。但您实际上想要创建StringInput 的实例。这只能意味着您忘记了 new 运算符。

    new com.altova.io.StringInput(sthing.toString());
    

    【讨论】:

    • 啊,好的,我现在明白了。它试图调用 StringInput(String) 作为 io 的静态方法。很好的收获。
    • 出现了三个错误,每个错误都不同(但是,“有帮助”,Java 报告相同的错误文本...) 1. 第一个如 BalusC 所述:缺少“ new" 关键字,因此没有对象的实例。 2. 第二个,有一个新的——但它超出了范围。 3. 第三个,...永远不要相信该死的文档阅读代码。文件声称有一个 getContent() 方法。
    • 我认为问题中提出的问题已解决?如果您仍然遇到新问题,您可以提出一个新问题。
    猜你喜欢
    • 2022-07-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-06-21
    • 1970-01-01
    相关资源
    最近更新 更多