我正在编写一个Java程序,希望创建一个可以调用的类以快速登录到cmd(我仍处于测试阶段,正在弄清楚东西)。我有一个文件和一个文件夹,其中另一个文件。


LaunchProgram.java
helping

Dbg.class
Dbg.java



LaunchProgram.class的摘要内容(相关的内容):

import helping.Dbg;

public class LaunchProgram{
    public static void main(String[] args){
        Dbg("Testing");
    }
}


Dbg.class的内容:

package helping;

public class Dbg{
    public static void main(String message){
        System.out.println(message);
    }
}


当我在cmd中执行javac Dbg.java时,它运行无任何错误,生成了Dbg.class

当我在cmd中执行javac LaunchProgram.java时,出现以下错误:

LaunchProgram.java:5: error: cannot find symbol
                Dbg("Testing");
                ^
symbol:   method Dbg(String)
location: class LaunchProgram


我不确定是什么原因导致的,我已经四处寻找有关此问题的信息,但找不到解决方案。有谁知道导致此问题的原因以及如何解决此问题?

最佳答案

这是您尝试执行的更正代码:

public class LaunchProgram {
    public static void main(String[] args){
        Dbg.log("Testing");
    }
}

public class Dbg {
    public static void log(String message){
        System.out.println(message);
    }
}


但是Apache log4j是在应用程序中进行记录的更好的方法。这是您的LaunchProgram类的框架代码,它使用log4j记录消息:

import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;

public class LaunchProgram {
    static final Logger logger = LogManager.getLogger(LaunchProgram.class.getName());

    public static void main(String[] args){
        logger.info("Testing");
    }
}


请注意,您不需要单独的类进行记录,而是可以直接从需要记录消息的类中进行记录。

09-27 21:47