数据库连接期间出现奇怪错误

时间:2017-01-08 15:19:50

标签: java xml jdbc junit

使用JUnit测试连接到Database Java的类打印此错误:

错误:需要在环境或系统属性中指定类名,或在applet参数中或在应用程序资源文件中指定类名:java.naming.factory.initial

在主类中使用相同的类我有相同的错误。

在servlet中使用相同的类,从浏览器进行测试,它没有任何问题。

我的数据库类与DB连接(错误在" ds.getConnection();"):

import java.sql.Connection;
import java.sql.SQLException;

import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.sql.DataSource;

public class Database {

    private static DataSource ds;

    static {
        try {
            Context initCtx = new InitialContext();
            Context envCtx = (Context) initCtx.lookup("java:comp/env");

            ds = (DataSource) envCtx.lookup("jdbc/mua");

        } catch (NamingException e) {
            System.out.println("Error:" + e.getMessage());
        }
    }

    public static Connection getConnessione() throws SQLException {
        return ds.getConnection();
    }

}

这是context.xml文件

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE xml>
<Context>
    <Resource name="jdbc/mua"
        auth="Container"
        driverClassName="com.mysql.jdbc.Driver"
        type="javax.sql.DataSource"
        username="root"
        password="admin"
        url="jdbc:mysql://localhost:3306/mua?useSSL=false"/>
</Context>

0 个答案:

没有答案