当前位置: 首页 > 知识库问答 >
问题:

错误“发生了 JNI 错误。请检查您的安装,然后在 Eclipse x86 视窗 8.1 中重试。

梁骞仕
2023-03-14

考虑:

public class LoginCumReg implements ActionListener, KeyListener {

    private JFrame form;
    private JTextField txtunm;
    private JTextField txtnm;
    private JTextField txteml;
    private JButton cmdcreate;
    private JPasswordField txtpass;
    private JPasswordField txtpassreg;
    private JButton cmdok;
    private JLabel lblunm;
    private JLabel lblpass;
    private JLabel lbleml;
    private JLabel lblpassreg;
    private JLabel lblnm;
    private JPanel panel_1;

    public LoginCumReg() {
        // Construct components
        form = new JFrame("Sign Up");
        form.getContentPane().setFont(
                new Font("Plantagenet Cherokee", Font.BOLD, 18));
        txtunm = new JTextField(5);
        txtunm.addKeyListener(this);
        txtunm.setBounds(637, 55, 100, 25);
        txtnm = new JTextField(5);
        txtnm.setBounds(637, 228, 100, 25);
        txteml = new JTextField(5);
        txteml.setBounds(637, 264, 100, 25);
        cmdcreate = new JButton("Create Account");
        cmdcreate.setBounds(527, 350, 188, 25);
        txtpass = new JPasswordField(5);
        txtpass.setBounds(637, 91, 100, 25);
        txtpassreg = new JPasswordField(5);
        txtpassreg.setBounds(637, 300, 100, 25);
        cmdok = new JButton("OK");
        cmdok.setBounds(527, 139, 100, 25);
        lblunm = new JLabel("UserName");
        lblunm.setBounds(527, 55, 73, 25);
        lblpass = new JLabel("Password");
        lblpass.setBounds(527, 91, 100, 25);
        lbleml = new JLabel("Email ID");
        lbleml.setBounds(527, 264, 100, 25);
        lblpassreg = new JLabel("Password");
        lblpassreg.setBounds(527, 300, 100, 25);
        lblnm = new JLabel("Full Name");
        lblnm.setBounds(527, 228, 100, 25);

        // form.setResizable(false);

        // Adjust size and set layout
        form.setPreferredSize(new Dimension(800, 450));

        form.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        form.getContentPane().setLayout(null);

        // Add components
        form.getContentPane().add(txtunm);
        form.getContentPane().add(txtnm);
        form.getContentPane().add(txteml);
        form.getContentPane().add(cmdcreate);
        form.getContentPane().add(txtpass);
        form.getContentPane().add(txtpassreg);
        form.getContentPane().add(cmdok);
        form.getContentPane().add(lblunm);
        form.getContentPane().add(lblpass);
        form.getContentPane().add(lbleml);
        form.getContentPane().add(lblpassreg);
        form.getContentPane().add(lblnm);

        cmdcreate.setActionCommand("Create Account");
        cmdcreate.addActionListener(this);
        cmdok.setActionCommand("Login");

        JPanel panel = new JPanel();
        panel.setBounds(502, 29, 254, 154);
        panel.setFont(new Font("Palatino Linotype", Font.PLAIN, 14));
        panel.setBorder(new TitledBorder(new EtchedBorder(EtchedBorder.RAISED,
                null, null), "LOGIN", TitledBorder.LEADING, TitledBorder.TOP,
                null, null));
        panel.setBackground(SystemColor.controlHighlight);
        form.getContentPane().add(panel);

        panel_1 = new JPanel();
        panel_1.setBounds(500, 204, 254, 186);
        panel_1.setFont(new Font("Palatino Linotype", Font.PLAIN, 14));
        panel_1.setBorder(new TitledBorder(new EtchedBorder(
                EtchedBorder.RAISED, null, null), "SIGN UP",
                TitledBorder.LEADING, TitledBorder.TOP, null, null));
        panel_1.setBackground(SystemColor.controlHighlight);
        form.getContentPane().add(panel_1);

        JLabel lblNewLabel = new JLabel("New label");
        lblNewLabel.setBounds(91, 139, 286, 101);
        lblNewLabel.setIcon(new ImageIcon(
                "C:\\Users\\JAsh\\Desktop\\Projects\\JAsh.png"));
        form.getContentPane().add(lblNewLabel);

        JPanel panel_2 = new JPanel();
        panel_2.setBounds(77, 118, 315, 145);
        panel_2.setBorder(new EtchedBorder(EtchedBorder.RAISED,
                SystemColor.activeCaptionBorder, SystemColor.menu));
        panel_2.setBackground(SystemColor.controlHighlight);
        form.getContentPane().add(panel_2);
        cmdok.addActionListener(this);

        form.setResizable(false);
        form.pack();
        form.setVisible(true);
        System.out.println("const..");
    }

    public static void main(String[] args) {
        new LoginCumReg();
    }

    @Override
    public void actionPerformed(ActionEvent ae) {
        // TODO Auto-generated method stub

        if (ae.getActionCommand().equals("Create Account")) {
            new Registration(txtnm.getText(), txteml.getText(), new String(
                    txtpassreg.getPassword()));
            form.setVisible(false);
        }

        if (ae.getActionCommand().equals("Login")) {
            try {
                if (txtunm.getText().equalsIgnoreCase("admin")
                        && new String(txtpass.getPassword()).equals("admin")) {
                    form.setVisible(false);
                    new Admin();
                } else {
                    DataBase db = new DataBase();
                    db.connect();
                    String sql = "SELECT * FROM LOGIN WHERE USERNAME='"
                            + txtunm.getText() + "'";
                    ResultSet rs = db.getDDL(sql);
                    boolean found = false;
                    while (rs.next()) {
                        if (rs.getString("Password").equals(
                                new String(txtpass.getPassword()))) {
                            found = true;
                            form.setVisible(false);
                            String name = rs.getString("FullName");
                            Session.startSession(txtunm.getText(), name);
                            new FacultyWelcome();
                        }
                    }
                    if (!found)
                        JOptionPane.showMessageDialog(new JFrame(),
                                "Invalid Credentials");
                    db.close();
                }
            }
            catch (Exception e) {
            }
        }
    }

    @Override
    public void keyPressed(KeyEvent arg0) {
        // TODO Auto-generated method stub
    }

    @Override
    public void keyReleased(KeyEvent arg0) {
        // TODO Auto-generated method stub
    }

    @Override
    public void keyTyped(KeyEvent arg0) {

        // TODO Auto-generated method stub
        // JOptionPane.showMessageDialog(new JFrame(), arg0.getKeyChar() + "-" + arg0.getKeyCode());
    }
}

上面的代码在我朋友的笔记本电脑上完美地工作,并将此错误抛到我的笔记本电脑上。我已经在日食上运行了代码

我还在笔记本电脑上测试并运行了许多Java程序,都运行良好。这是唯一一个出现这种错误的程序。

我如何解决这个问题?

共有3个答案

应安国
2023-03-14

通过以下方式从命令行运行jar:

C:\folder\where\jar\stored>java -jar JarName.jar

我得到的信息使问题更加清楚:

Main/Main已由Java运行时的最新版本编译

在这种情况下,jar是用比jre支持的版本更新的版本编译的。

薄高懿
2023-03-14

解决方案1:右键单击包含main方法的类。单击“运行方式”。单击“Java应用程序”。键盘快捷键是:ShiftAltX和[Alt时,按[kbd>X;然后释放[kbd>Shift,然后按[kbd>J)。

解决方案2:正如教授提到的,请确保java版本javac版本相同。

注意:解决方案1是一个快速解决方案,对我和其他一些人有效。它可能对你有效,也可能不适用。我认为解决方案2是解决它的正确方法。

温凯
2023-03-14

我一直有这个问题一段时间了,但现在我已经想通了。

事实证明,JavaJDK 12在JavaJDK的bin文件夹中同时包含了JRE和JDK。(我一直认为JRE和JDK是不同的应用程序,但事实证明事情已经发生了变化。)

我的问题是我的电脑上安装了JavaJDK 12。与此同时,我的电脑上安装了Java8(JRE)。所以我的电脑很困惑。

使用我的命令提示符环境设置为运行 Java 和 Javac 命令:

我输入了以下命令:

java -version

这给了我8Java。

之后,我输入:

javac -version

这给了我Java 12。

换句话说,我的程序正在用Java12编译,我正在尝试用Java8运行。

为了解决这个问题,我从计算机中卸载了Java 8 JRE。

我回到命令提示符,检查“java-version”和“javac-version”是否返回相同的版本号,是的,它返回Java12。

我再次尝试重新编译我的程序并运行它。成功了!!

 类似资料:
  • 问题内容: } 上面的代码可以在我朋友的笔记本电脑上完美运行,并在我的笔记本电脑上抛出此错误。我已经使用Java 7在Eclipse Juno上运行了代码。我还在便携式计算机上测试并运行了许多Java程序,都运行良好。这是唯一出现此类错误的程序。这是我的最后一年的项目,我需要它可以在笔记本电脑上工作,如果有任何帮助,我将不胜感激 问题答案: 简短的答案: 右键单击包含main方法的类。点击“运行方

  • 上面的代码在我朋友的笔记本电脑上工作得很完美,并在我的笔记本电脑上抛出了这个错误。我已经使用Java7在Eclipse Juno上运行了代码。我也测试和运行了很多java程序在我的笔记本电脑上都运行的很好。这是唯一一个给出这种错误的程序。这是我最后一年的项目,我需要它在我的笔记本电脑上工作,我会对任何帮助我的人都很棒

  • 我试图在intellij中运行一个项目,每次我运行一个特定的类,我都会得到下面的错误消息:

  • 我正试图通过Ubuntu终端运行一个用Java编写的简单客户机-服务器程序。我可以成功编译代码不幸的是,我不能运行代码。 服务器类代码: 客户端类代码: 在运行Compliated类期间,我得到以下错误: mamun@mamun:~$java测试错误:发生了一个JNI错误,请检查您的安装并重试异常在线程“主”java.lang.不支持的ClassVersionError:测试已由一个更新版本的Ja

  • 我得到了“发生了JNI错误,请检查您的安装,然后重试”错误每当我运行我的java jar时,使用“java-jarfilename.jar”命令与windows power shell。每当我双击打开它时,它都能正常工作。 我如何解决这个问题? 提前谢谢。

  • 我试图使用Eclipse在http://projects.spring.io/spring-framework/运行Spring框架“快速入门”教程 我首先在Eclipse中构建了一个Maven项目,并添加了三个. java文件。代码如下 然后我右键单击Eclipse并选择“作为运行” > 错误:发生了JNI错误,请检查您的安装并重试 发生Java异常。 控制台显示 线程“main”java.la