j'ai un simple fichier Demo.java dans D: \ jarConcepts répertoire:ajoutant des bocaux à votre programme
import javax.swing.* ;
class Demo{
public static void main(String args[]){
JFrame frame = new JFrame("") ;
frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE) ;
Class c = null ;
try{
c = Class.forName("com.mysql.jdbc.Driver") ;
//com.mysql.jdbc.Driver class is in a jar file
//whose class path is set in the environment variable(explicitly done by me)
//when i am executing Demo.class using java command, it displays frame with OK title
//but if i execute this by creating a jar, it enables to load the
//com.mysql.jdbc.Driver class,
//thus displaying frame with Sorry title
frame.setTitle("OK") ;
}
catch(ClassNotFoundException cnfe){
frame.setTitle("Sorry") ;
}
frame.setVisible(true) ;
}
}
J'ai préparé un fichier manifest.txt dans D: \ jarConcepts avec le texte suivant:
Main-Class: Demo
Class-Path: C: \ Program Files \ MySQL \ MySQL Outils pour 5.0 \ java \ lib \ mysql-connector-java-5.0.4-bin.jar
quand je crée un fichier jar dans le même répertoire en utilisant
pot-cvfm Demo.jar manifest.txt .class
suivant est la sortie:
ajouté manifeste ajouter : Demo.class (in = 743) (out = 505) (dégonflé 32%)
Mais, lorsque j'exécute le fichier jar généré, il affiche un message d'erreur,
Impossible de trouver la classe principale. Le programme va sortir.
Je ne comprends pas pourquoi cela se passe, coz, quand je créer le fichier jar avec le code manifeste suivant:
Main-Class: Demo
Je reçois un parfaitement exécutable Demo.jar, le seul problème est qu'il ne charge pas la classe Driver du chemin de classe] et quand j'essaye d'ajouter le chemin dans le manifeste, cela ne fonctionne pas ...... plz help ... ....
alors pourquoi le fichier jar est exécuté, quand je ne suis en utilisant la balise-classe principale au lieu d'utiliser les deux Main-classe, étiquettes de classe chemin ...... – mogli