could not find the main class,program will exit
在写如下代码后运行时,出现了如图中的警告和控制台上的提示,求解!!!
首先,编译器的版本和JDK的版本是一致的;
然后,在MyEclipse中其他Project中的代码都能正常运行,唯独这个程序出现了问题;
最后,在命令行中却可以完美运行该程序,获得想要的结果,一度让我认为真的是编译器的版本和JDK的版本真的不一致,可在设置中版本确实是一致的,见鬼!折腾一下午了,求解!!!!!!!!!!
[解决办法]
看控制台的信息,代码的第11行和第20行出了问题,先看看这两行的内容是什么,图里面看不到
推测是实例化类的时候出了问题
[解决办法]
LZ把main方法中的第一行,getinstance()改成ConfigReader.getinstance()。
[解决办法]
package org.programming.student;
import java.util.*;
import java.io.*;
/**
*该类用来读取配置文件中的属性,并在设计该类时使用了单例模式。
*
*/
public class ConfigReader
{
private static ConfigReader instance = new ConfigReader();
private Properties pros = new Properties();
private ConfigReader()
{
//该处使属性集和指定文件进行关联
InputStream in = Thread.currentThread().getContextClassLoader().getResourceAsStream("org/programming/student/students.properties");
/*InputStream in = ConfigReader.class.getResourceAsStream("students.properties"); //也可以使用这种方式 */
try{
this.pros.load(in);
}catch(IOException e){
e.printStackTrace();
}
}
public static ConfigReader getInstance()
{
return instance;
}
public String getPropertyValue(String key)
{
return this.pros.getProperty(key);
}
public static void main(String[] args)
{
String driverName = getInstance().getPropertyValue("driver-name");
String url = getInstance().getPropertyValue("url");
System.out.println(url);
}
}