A JNI error has occurred, please check your installation and try again Eclipse

Issue

Consider:

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()); } }

The above code works perfectly on my friend's laptop and throws this error on my laptop. I have running the code on Eclipse v4.2 (Juno) using Java 7.

I have also tested and run a lot of Java programs on my laptop all works well. This is the only program which gives such an error.

How can I fix this problem?


Solution

Solution 1: Right-click on the class that contains the main method. Click on "Run As". Click on "Java Application". The keyboard shortcut is: Shift + Alt + X, J (while holding Shift and Alt, press X; then release Shift and Alt and press J).

Solution 2: As Professor mentioned, please make sure that java -version and javac -version are the same.

Note: Solution 1 is a quick fix and worked for me and a few other people. It may or may not work for you. I think Solution 2 is the proper way to solve it.

Answered By - Positive Navid
Answer Checked By - Terry (JavaFixing Volunteer)

How do you fix a JNI error has occurred Please check your installation?

This a JNI error has occurred Minecraft server error occurs when you try to start Minecraft or a Minecraft server on a PC that does not have the latest version installed. To fix this, you just need to update your current Java to the latest version.

How do I fix Java error JNI error has occurred?

Fix JNI Error in Minecraft (2022).
Update And Install Latest Java Version (Windows, Mac, and Linux).
Reset Java Path to Fix Minecraft JNI Error (Windows Only).
Install Java on Linux to Fix Minecraft Errors..
Uninstall Old Versions of Java on Your PC (Optional).

What is JNI error in selenium?

This typically happens when your JDK version and JRE version are not compatible or when the required JRE version is not installed. To correct the error use Window -> preferences -> compiler -> compiler compliance level and change the JRE version to existing JRE version.