JavaWeb java.lang.NoClassDefFoundError:sun / security / ssl / HelloExtension

问题描述

我尝试通过Glassfish 5.0使用JavaWeb proyect时出现

im错误。每当它尝试从我的sql数据库获取数据时,都会出现此错误
StandardWrapperValve [ListadoPersonas]:Servlet ListadoPersonas的Servlet.service()抛出异常 java.lang.NoClassDefFoundError:sun / security / ssl / HelloExtension

这是servlet ListadoEstadosCivile 在这里调用函数将数据从我的数据库中带回

GestorPersonas g = new GestorPersonas();
ArrayList<EstadoCivil> lista = g.obtenerEstadosCiviles();
for (EstadoCivil estadoCivil : lista) {
    out.println("<tr><td>" + estadoCivil.getId() + "</td><td>" + estadoCivil.getNombre() + "</td></tr>");
}

这里是GestorPersonas()构造函数

 public GestorPersonas() {
        try {
            Class.forName("com.microsoft.sqlserver.jdbc.sqlServerDriver");
        } catch (ClassNotFoundException ex) {
            Logger.getLogger(GestorPersonas.class.getName()).log(Level.SEVERE,null,ex);
        }
    }

这是obtenerEstadosCiviles()方法

public ArrayList<EstadoCivil> obtenerEstadosCiviles() {
    ArrayList<EstadoCivil> lista = new ArrayList<>();
    
    try {
        Connection conn = DriverManager.getConnection(CONN,USER,PASS);
        Statement st = conn.createStatement();
        ResultSet rs = st.executeQuery("select * from EstadosCiviles");
        // Si el select devuelve una única fila,en lugar de while,se usa un if
        while (rs.next()) {
            int id = rs.getInt("id");
            String nombre = rs.getString("nombre");
            EstadoCivil ec = new EstadoCivil(id,nombre);
            lista.add(ec);
        }
        
        rs.close();
        st.close();
        conn.close();
    } catch (sqlException ex) {
        Logger.getLogger(GestorPersonas.class.getName()).log(Level.SEVERE,ex);
    }
    
    return lista;
}

我将Java应用程序连接到sql时没有问题,我认为问题出在Glassfish,但我无法弄清为什么它不起作用

这是正在调用obtenerEstadosCiviles()函数的servlet,我希望该表充满数据

我期望什么:

Here it is where my list is supposedly rendered

更新

我刚刚检查了我的插件,它似乎已激活Java Web和EE,但“活动”符号并未显示为活动。这可能是问题的一部分吗?

Java EE plugin

解决方法

遇到了基本相同的问题,最终用this solution here解决了这个问题。

在您的glassfish文件夹中,转到 glassfish5 / glassfish / modules / endorsed / ,然后使用winrar或您喜欢的解压缩程序打开 grizzly-npn-bootstrap.jar 文件。

删除 sun 文件夹,然后尝试再次运行程序。