Pour le moment, je cherche un autre moyen d’exécuter mon programme Java en ligne de commande, autre que de l’ajouter à un fichier JAR. Mon programme comprend le nombre de cours suivant:
Le nom du fichier de programme - MyProgram
Classe principale - Serveur1
second class - Client Handler
Nom du paquet - Articles
3e classe - Utilisateur1
4ème classe - Utilisateur2
La classe principale et le gestionnaire de client à côté du paquet devront d'abord s'exécuter pour que l'utilisateur 1 et l'utilisateur 2 puissent s'exécuter, car ce sont des classes clientes et dépendent de la classe principale.
javac *.Java // compliles all Java files in the dir
Java MyClass // runs the particular file
Si une classe dépend d'une autre classe qui n'a pas encore été compilée, le programme ne s'exécutera pas. Donc, vous devriez compiler tous les fichiers avant d'essayer d'exécuter le programme en fonction d'autres fichiers.
Si vos fichiers sont empaquetés, alors quelque chose comme ceci
javac com.mypackage/.*Java
Java com.mypackage.MyClass
Une fois votre code compilé, lancez-le à partir du niveau supérieur:
Java -cp . com.myprogram.MyProgram
L'ordre que vous décrivez n'a pas d'importance. Ils sont tous compilés ensemble et MyProgram
fera référence à Server1
, etc.
C’est peut-être plus que ce que vous voulez aborder maintenant, mais vous pouvez envisager un système de construction tel que Maven . Pour commencer à essayer; Comment puis-je faire mon premier projet Maven?
Vous pouvez l’utiliser pour prédéfinir l’ordre de construction et, si vous le souhaitez, créer un fichier jar pour vous (ou non).
vous devez vous assurer que vous ajoutez l'emplacement de votre fichier .class à votre chemin d'accès aux classes. Donc, si c'est dans le dossier actuel, alors ajoutez. à votre chemin de classe. Notez que le séparateur de chemin de classe windows est un point-virgule ie;
javac -cp . PackageName/*.Java
java -cp . PackageName/ClassName_Having_main
Exemple. Supposons que vous ayez ce qui suit
Paquet nommé: com.test
Nom de la classe: Bonjour
Le fichier Java est situé dans "src/com/test/Hello.Java"
puis, depuis l'annuaire extérieur:
$ cd src
$ javac -cp . com/test/*.Java
$ Java -cp . com/test/Hello
Notez que vous pouvez ajouter -d pour spécifier le répertoire de sortie de vos fichiers de classe lors de la compilation.
$ javac -d output_directory -cp . com/test/Hello
Dans Windows, la même chose fonctionnera aussi, j'ai déjà essayé
Découvrez this sur le site officiel Oracle
On dirait que vous aurez juste besoin d'ouvrir plusieurs invites de commande, de les compiler et de les exécuter dans l'ordre dans lequel vous en avez besoin. Faites-moi savoir si j'ai mal compris la question.
POUR EXÉCUTER DEUX PROGRAMMES Java DÉPENDANT TOUT AUTRE . (Par exemple: deux fichiers Complex.Java et Solution.Java, où Soultion.Java dépend de Complex.Java . So Complex.Java doit être compilé en premier et ensuite, le fichier de classe de Complex doit être lié à Solution.Java, puis Solution.class doit être exécuté pour Output.) REFER L'IMAGE AVEC SYNTAXE.
ÉTAPE 1:
compilation de Complex.Java
syntaxe - javac -d [path_where_class_File_File_File] [chemin_du_fichier_fichier\nom_fichier.Java]
(Solution.Java et Complex.Java sont liés. Ie.Solution.Java appelle Complex.Java)
ÉTAPE 2:
compiler Solution.Java avec lier Complex.class avec lier Complex.class (créé ci-dessus à l'étape 1)
syntaxe - javac -d [path_where_class_class_File_File] -cp [path_of_the_first_class_class_created] [path_of_the_file\filename.Java]
ÉTAPE 3:
Java -cp [path_of_second_class_cleated_created] [Nom_classe]