.fichier jar continue à me “ could not find the main class”. Programme de sortie
J'ai eu des problèmes avec cette sur netbeans et eclipse, même avec un simple fichier qui affiche une jframe avec un jlabel. Mon netbeans les propriétés du projet indique clairement testing2.hihi comme ma classe Principale et je dois nettoyer et de le construire qui produit une .jar fichier dans mon dossier dist. Quand je double clique dessus, il me donne le message" could not find the main class. Programme de la sortie." Cependant, si je décide de l'exécuter à partir de l'invite de commande "java-jar hello2.jar" il fonctionnera normalement!
C'est le fichier de manifeste à l'intérieur de l' .fichier jar.
Manifest-Version: 1.0
Ant-Version: Apache Ant 1.8.3
Created-By: 1.7.0_04-b20 (Oracle Corporation)
Class-Path:
X-COMMENT: src/hihi
Main-Class: testing2.hihi
package testing2;
public class hihi extends javax.swing.JFrame {
/**
* Creates new form hihi
*/
public hihi() {
initComponents();
}
/**
* This method is called from within the constructor to initialize the form.
* WARNING: Do NOT modify this code. The content of this method is always
* regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
//<editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
jLabel1 = new javax.swing.JLabel();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
jLabel1.setText("hihi");
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(50, 50, 50)
.addComponent(jLabel1)
.addContainerGap(334, Short.MAX_VALUE))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(33, 33, 33)
.addComponent(jLabel1)
.addContainerGap(253, Short.MAX_VALUE))
);
pack();
}//</editor-fold>
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
/*
* Set the Nimbus look and feel
*/
//<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
/*
* If Nimbus (introduced in Java SE 6) is not available, stay with the
* default look and feel. For details see
* http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
*/
try {
for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
if ("Nimbus".equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
}
}
} catch (ClassNotFoundException ex) {
java.util.logging.Logger.getLogger(hihi.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (InstantiationException ex) {
java.util.logging.Logger.getLogger(hihi.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (IllegalAccessException ex) {
java.util.logging.Logger.getLogger(hihi.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {
java.util.logging.Logger.getLogger(hihi.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
}
//</editor-fold>
/*
* Create and display the form
*/
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new hihi().setVisible(true);
}
});
}
//Variables declaration - do not modify
private javax.swing.JLabel jLabel1;
//End of variables declaration
}
Quel est votre fichier de manifeste? Ne vous spécifiez une classe principale?
Des sons comme la carapace de la règle de l'exécution .fichiers jar peuvent être complètement foireuse. Quel système d'exploitation utilisez-vous?
Hopp je suis sous windows vista.Pourrais-je savoir qui fichier manifeste faites-vous allusion? l'un dans l' .jar ou celui qui est dans le projet de dossier principal( désolé,je suis encore un débutant à ce sujet). De toute façon je suis à l'aide de netbeans et j'ai spécifié la classe principale à testing2.hihi sous l'onglet exécuter des propriétés du projet. Merci à tous pour votre aide!
En fin de compte, c'est le manifeste du BOCAL de questions ... si vous êtes à l'exécution de la JARRE. Avez-vous regardé pour vérifier qu'elle est correcte?
salut j'ai ajouté dans les fichiers manifest dans mon bloc de code ci-dessus. Il semble puissant va bien pour moi. Il n'y a rien de mal à cela?
Des sons comme la carapace de la règle de l'exécution .fichiers jar peuvent être complètement foireuse. Quel système d'exploitation utilisez-vous?
Hopp je suis sous windows vista.Pourrais-je savoir qui fichier manifeste faites-vous allusion? l'un dans l' .jar ou celui qui est dans le projet de dossier principal( désolé,je suis encore un débutant à ce sujet). De toute façon je suis à l'aide de netbeans et j'ai spécifié la classe principale à testing2.hihi sous l'onglet exécuter des propriétés du projet. Merci à tous pour votre aide!
En fin de compte, c'est le manifeste du BOCAL de questions ... si vous êtes à l'exécution de la JARRE. Avez-vous regardé pour vérifier qu'elle est correcte?
salut j'ai ajouté dans les fichiers manifest dans mon bloc de code ci-dessus. Il semble puissant va bien pour moi. Il n'y a rien de mal à cela?
OriginalL'auteur Laughy | 2012-06-04
Vous devez vous connecter pour publier un commentaire.
Je soupçonne que la commande ouvrir enregistré les fichiers Jar n'est pas correctement configuré. Voici une façon de le vérifier à partir de la ligne de commande (au moins sur Windows 7; je suis assez sûr qu'il fonctionne sur Windows Vista):
assoc .jar
.jar=jarfile
. Si il n'est pas trouvé (très peu probable, compte tenu de vos symptômes), créez l'entrée avec la commandeassoc .jar=jarfile
.ftype jarfile
"C:\Program Files\Java\jre6\bin\javaw.exe" -jar "%1" %*
(Le chemin d'accès à
javaw.exe
peut être différent sur votre ordinateur.)ftype jarfile="C:\Program Files\Java\jre6\bin\javaw.exe" -jar "%1" %*
Vous pouvez avoir à redémarrer, ou au moins ouvrir une nouvelle fenêtre de l'Explorateur Windows, pour voir si un double-clic sur le .fichier jar fonctionne maintenant.
Dans Eclipse, vous pouvez définir le niveau de conformité à 6 de la section propriétés du projet -> Java Compilateur. Dans NetScape, dans les propriétés du projet -> Sources, définissez la Source/Format Binaire pour JDK 6.
OriginalL'auteur Ted Hopp
Veuillez vérifier les variables d'environnement de votre JAVA_HOME, CLASS_PATH et paramètre de CHEMIN. vous pourriez echo %JAVA_HOME%, dans la fenêtre cmd pour vérifier cela. assurez-vous de réglage est correct.
OriginalL'auteur William
Ted Hopp la réponse c'est correct, mais je voudrais changer des choses dans différents cas. Si vous avez déjà mis en Java du chemin d'accès dans le système de la variable d'environnement "path", vous pouvez mettre ceci dans l'invite de commande:
assoc .jar=jarfiles
ftype jarfile=javaw.exe -le bocal %1 %*
parce que si vous placez l'ensemble de la JRE chemin, vous allez avoir à le refaire à chaque mise à jour JRE. Dans ce cas, il vous suffit de modifier la variable d'environnement et le système fera le reste.
OriginalL'auteur IvanGrasp