Impossible de trouver ou charger la Classe principale sur le POT d'exécution
J'ai fini mon projet (dans NetBeans
) et je l'exportation Jar
fichier (j'ai mis ma classe principale dans les propriétés du projet correctement avant de l'exporter Jar
):
Maintenant, C'est mon JAR
:
Cette Erreur s'affiche lorsque je lance le Jar
(en ligne de commande page):
Could not find or load main Class on JAR executing
C'est mon MANIFEST.MF
informations:
Manifest-Version: 1.0
Ant-Version: Apache Ant 1.9.1
Created-By: 1.7.0_11-b21 (Oracle Corporation)
Class-Path: lib/mysql-connector-java-5.1.18-bin.jar
X-COMMENT: Main-Class will be added automatically by build
Main-Class: Project.LoginFrame
Toutes mes classes sont ici:
J'ai essayer en ligne de commande:
Mon projet exécuté à ce moment, Mais toutes les photos (qui sont dans un dossier) s'affiche pas, et aussi un sql Exception
qui se passe:
Mise à jour:
package Project;
import javax.imageio.ImageIO;
import javax.swing.*;
import javax.swing.plaf.nimbus.NimbusLookAndFeel;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.sql.*;
public class LoginFrame extends javax.swing.JFrame implements ActionListener {
String dbUrl = "jdbc:mysql://localhost/Library";
private char[] Password;
private JButton ClearBtn,ExitBtn,LoginBtn;
private JLabel ErrorLbl;
private JComboBox comboBox;
private JLabel lbl1;
private JLabel lbl2;
private JLabel lbl3;
private String[] enterUserInf = new String[4];
private JPasswordField passwordField;
private JTextField usernameTF;
public LoginFrame() {
initComponents();
this.getRootPane().setDefaultButton(LoginBtn);
comboBox.addActionListener(this);
setVisible(true);
}
public static void main(String args[]) throws IOException {
new LoginFrame();
}
private void initComponents() {
//...
}
private void LoginButtonActionPerformed(java.awt.event.ActionEvent evt) {
try {
if (comboBox.getSelectedIndex() == 0) {
ErrorLbl.setText("Select A Model...");
ErrorLbl.setVisible(true);
return;
}
Password = passwordField.getPassword();
if (!passwordControl()) {
return;
}
if (comboBox.getSelectedIndex() == 1) {
if (userEnterCondition(Password)) {
this.setVisible(false);
new BookPage_User(enterUserInf, enterUserInf[0]);
} else {
ErrorLbl.setText("Incorrect Password!");
}
}
if (comboBox.getSelectedIndex() == 2) {
if (adminEnterCondition(Password)) {
this.setVisible(false);
new MainFrame().setVisible(true);
} else {
ErrorLbl.setText("Incorrect Password!");
}
}
} catch (Exception e) {
e.printStackTrace();
ErrorLbl.setText("Enter Correct Input");
}
}
private void ExitButtonActionPerformed(java.awt.event.ActionEvent evt) {
System.exit(0);
}
private void ClearButtonActionPerformed(java.awt.event.ActionEvent evt) {
passwordField.setText("");
}
public boolean passwordControl() {
Password = passwordField.getPassword();
if (String.valueOf(Password).trim().isEmpty()) {
ErrorLbl.setText("Empty Password!");
ErrorLbl.setVisible(true);
return false;
}
return true;
}
public boolean adminEnterCondition(char[] pass) {
Connection con;
PreparedStatement preparedStatement;
ResultSet resultSet;
String query = "Select * From adminLogin";
String password = null;
try {
con = DriverManager.getConnection(...);
preparedStatement = con.prepareStatement(query);
resultSet = preparedStatement.executeQuery();
while (resultSet.next()) {
password = resultSet.getString("ID"); //Get column value by name column name
if (password.equalsIgnoreCase(String.valueOf(pass))) {
return true;
}
}
} catch (SQLException sqle) {
sqle.printStackTrace();
return false;
}
return false;
}
public boolean userEnterCondition(char[] pass) {
Connection con;
PreparedStatement preparedStatement;
ResultSet resultSet;
String query = "Select * from users";
String password = null;
try {
Class.forName("com.mysql.jdbc.Driver");
con = DriverManager.getConnection(...);
preparedStatement = con.prepareStatement(query);
resultSet = preparedStatement.executeQuery();
while (resultSet.next()) {
password = resultSet.getString("User_ID");
}
} catch (SQLException sqle) {
return false;
} catch (ClassNotFoundException cnfe) {
}
return false;
}
@Override
public void actionPerformed(ActionEvent e) {
if (e.getSource() == comboBox) {
if (comboBox.getSelectedIndex() == 1) {
usernameTF.setText("User");
usernameTF.setEditable(false);
passwordField.requestFocusInWindow();
ErrorLbl.setVisible(false);
} else if (comboBox.getSelectedIndex() == 2) {
passwordField.requestFocusInWindow();
}
}
}
}
Avez-vous l'exporter en tant que "un runnable jar file" ou tout simplement un fichier jar?
essayez sans compression, je me souviens il y avait des problèmes avec compressé pots avant
N'a jamais utilisé de n'importe quel IDE avant, donc ne peut pas en dire beaucoup sur la façon dont NetBeans travail, mais dans quelques temps, va essayer de créer un petit projet, que vous pourriez peut s'exécuter sur invite de commandes. Vous permettra de savoir rapidement.
Enfin je peux courir
Vous devez garder le MySql connector.jar sur le chemin de votre fichier JAR, tout comme ce que j'ai fait, avec
essayez sans compression, je me souviens il y avait des problèmes avec compressé pots avant
N'a jamais utilisé de n'importe quel IDE avant, donc ne peut pas en dire beaucoup sur la façon dont NetBeans travail, mais dans quelques temps, va essayer de créer un petit projet, que vous pourriez peut s'exécuter sur invite de commandes. Vous permettra de savoir rapidement.
Enfin je peux courir
jar
fichier de mon projet avec succès, Mais il y a un petit problème, le fichier jar ne peut pas se connecter à ma Base de données (MySQL), Pourquoi?Vous devez garder le MySql connector.jar sur le chemin de votre fichier JAR, tout comme ce que j'ai fait, avec
derby.jar
à ma demande, ne lire que manifest.txt
nous avons créé
OriginalL'auteur | 2014-07-14
Vous devez vous connecter pour publier un commentaire.
Ouvrir votre fichier jar avec WinRAR ou un programme similaire. Ensuite, allez au répertoire META-INF et ouvrir le MANIFESTE.MF. Assurez-vous que la propriété "Main-Class: votre.classe.chemin d'accès" est correct.
Le pilote JDBC fonctionne correctement quand je lance mon projet avec l'IDE.
Il y a probablement quelque chose avec le fichier jar, alors!
Sajjad-auriez-vous l'esprit de partage du code de LoginFrame!
Rien de pertinent à LoginFrame---il peut contenir jdbc section ou quoi que ce soit!
OriginalL'auteur Lars
Alors,voilà, une erreur dans le problème---pourquoi avez-vous parlé de
con = DriverManager.getConnection(...);
dans votre code?Et donc votre code est la capture de
SQL Exception
!!! C'est la source de l'erreur :-Remplacer par
J'espère que cette aide.Si encore avoir d'erreur,s'il vous plaît commentaire ci-dessous!
Quand je lance
Jar
de nouveau, le même résultat a montré: (Could not find o load main class C:\ User\ Sajjad\Desktop\UniversityProjects\dist\UniversityProject.jar
)Je ne suis pas une exception, Juste ce message d'erreur indiqué à la ligne de commande, après je lance le
Jar
fichier, puis disparaissent.Êtes-vous à l'aide de IntelliJ IDEA?Aussi,comment avez-vous créé le code pour LoginFrame classe,en utilisant le glisser-déposer ou en ajoutant manuellement le code?
Je suis à l'aide de
NetBeans
et je créerLoginFrame
classe visuellement les composants (tels que des boutons, des objets textfield et etc) par glisser-déposer et ensuite ajouter des boutons d'action codes manuellement.OriginalL'auteur Am_I_Helpful