我正在编写一个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");
}
}
请注意,您不需要单独的类进行记录,而是可以直接从需要记录消息的类中进行记录。