java.lang.NoClassDefFoundError: Could not initialize class cn.elvis.utils.JdbcUt


寫的jdbc工具類,前期寫了測試正確,但發布到tomcat中就報這樣的錯誤。
javax.servlet.ServletException: Servlet execution threw an exception


root cause 

java.lang.NoClassDefFoundError: Could not initialize class cn.elvis.utils.JdbcUtils
cn.elvis.dao.impl.UserDaoImpl.find(UserDaoImpl.java:180)
cn.elvis.service.impl.BusinessServiceImpl.register(BusinessServiceImpl.java:15)
cn.elvis.web.controller.RegisterServlet.doGet(RegisterServlet.java:40)
cn.elvis.web.controller.RegisterServlet.doPost(RegisterServlet.java:77)
javax.servlet.http.HttpServlet.service(HttpServlet.java:641)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)

下面是我的工具類代碼

public final class JdbcUtils {

private static String driver="com.microsoft.sqlserver.jdbc.SQLServerDriver";
private static String url="jdbc:sqlserver://localhost:1433;DatabaseName=JspWebDb";
private static String user="sa";
private static String psw="12345";

private JdbcUtils(){}

private static JdbcUtils instanse=new JdbcUtils();

public static JdbcUtils getInstanse()
{
return instanse;
}

static{
try{
Class.forName(driver);
}
catch(ClassNotFoundException e)
{
throw new ExceptionInInitializerError(e);
}

}

public static Connection getConnection() throws SQLException
{
return DriverManager.getConnection(url,user,psw);
     }


public static void free(ResultSet rs,Statement st,Connection conn)
{
if(rs!=null)
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
finally
{
if(st!=null)
try {
st.close();
} catch (SQLException e) {

e.printStackTrace();
}
finally
{
if(conn!=null)
try {
conn.close();
} catch (SQLException e) {

e.printStackTrace();
}
}
}
}




}


8 个解决方案

#1


貌似沒錯,LZ沒用hibernate吧?

#2


沒有,只用javabean的。糾結啊!

#3


是不是報錯了?放開試試。
另外驅動包放到tomcat下了把
static{
        try{
            Class.forName(driver);
        }
        catch(ClassNotFoundException e)
        {
            e.printStackTrace();
            throw new ExceptionInInitializerError(e);
        }
        
    }

#4


在tomcat的webapps下面  找到你工程,
然后去WEB-INF/class/cn/elvis/utils/中看看類的class文件是否存在。

#5


驅動包要自己手動放入嗎?

#6


引用 4 樓  的回復:
在tomcat的webapps下面 找到你工程,
然后去WEB-INF/class/cn/elvis/utils/中看看類的class文件是否存在。

文件存在。我看了。

#7


引用 5 樓  的回復:
驅動包要自己手動放入嗎?

對,放在tomcat\common\lib下

#8


終於找出問題了,就是驅動包沒有導入。謝謝樓上幾位的幫助!

注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2021 ITdaan.com