Je veux compiler un tas de fichiers .java
avec une bibliothèque .jar
fichier. Suite à ce topic, mon précédent programme d'interface graphique fonctionne bien. Cependant, ce programme de ligne de commande échoue!Impossible de trouver ou charger la classe principale, mais .class existe
$ /opt/jdk1.8.0_131/bin/javac -classpath lib/*.jar *.java
$ ls
Module1.class Cross.class Ora.java Safe.class
Module1.java Cross.java p1/ Safe.java
lib/ Ora.class
$ grep main Module1.java
public static void main(String[] args) {
$ ls lib
jsoup-1.10.3.jar
$ /opt/jdk1.8.0_131/bin/java -classpath .:lib/* Module1
Error: Could not find or load main class Module1
Comment puis-je résoudre ce problème?
Le paquetage 'Moule1;' est ajouté en haut de tous les fichiers java. Comme vous pouvez le voir il n'y a aucun fichier de paquet ce que je dois déplacer au dossier de paquet. – mahmood
Donc, j'ai supprimé la déclaration du paquet et c'est maintenant bien! Je ne pense pas avoir besoin d'un paquet maintenant – mahmood
Si le paquet est Module1 alors le fichier de classe doit être dans le répertoire Module1 et la commande java serait \t '/opt/jdk1.8.0_131/bin/java -classpath. : lib/* Module1.Module1' La convention consiste à créer vos fichiers .java dans le répertoire du package. Ainsi, lorsque le compilateur crée le fichier de classe, la structure de répertoires des packages est déjà en place. Tout ira bien sans un paquet pour un programme de test simple mais il a des limites dans la façon dont il peut être utilisé. –