Java.lang.NullPointerException 在IDE中不会报错,命令行中就会报错,何解?

因为我用console输入密码,因此 必须在命令行中运行,在用到dao的时候出现了以上情况。
图片说明
附上Userdao.login的代码

package dao;

import java.sql.Connection;
import java.sql.Date;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.sql.Timestamp;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import domain.Course;
import domain.Stu;
import domain.Teacher;
import util.JDBC;

public class Userdao {
    Connection conn=JDBC.getConnection();
    public boolean login(Stu stu) throws SQLException {
        // TODO 核对登陆信息,返回结果
        String id=stu.getid();
        String pass=stu.getpass();
        Statement sta=conn.createStatement();//这是第24行
        ResultSet rs=sta.executeQuery("select * from stu");
        while(rs.next()) {
            if(id.equalsIgnoreCase(rs.getString("ID"))) {
                if(pass.equalsIgnoreCase(rs.getString("pass"))) {
                    rs.close();
                    sta.close();
                    return true;
                }
            }
        }
        rs.close();
        sta.close();
        return false;
    }

之后我在第二十四行前插入了一段代码判断conn是否为null,并重新在命令行
预编译,并运行,结果报错信息仍然在第24行。就像没有更改一样。
删除原编译的文件在编译运行也没有用。
请问是什么原因?Testwin调用的文件都需要在命令行编译吗?

https://blog.csdn.net/hi_boy_/article/details/79316506

ide不会报错因为只是编译而不是运行,命令报错应该是运行了这个方法,除了conn空判断需要加,建议debug调试下看看JDBC.getConnection();是不是jdbc配置是否不对?

idea中会自动找到包,console中怎么找包?