Comment exécuter un projet NetBeans dans l'invite de commande?
Mon professeur nous a demandé de créer un programme Java qui serait en mesure d'exécuter dans l'invite de commande, mais pourrait également être ouvert à l'aide de NetBeans.
Le programme est sur l'utilisation de différents types de tri (plus précisément de la Sélection, de l'Insertion, de l'Échange, Rapide, et des Tas de tri). notre professeur spécifiquement nous a dit d'utiliser la programmation orientée objet en Java, et qu'elle veut voir une classe principale, plus les différentes classes qui permettrait de faire le tri.
J'ai essayé d'écrire le programme dans NetBeans — pensant que plus tard je pourrais simplement exécuter le programme cmd à l'aide de javac.
Dans cmd, j'ai tapé le chemin où mon projet NetBeans a été enregistré et j'ai essayé de compiler les fichiers à l'aide de javac. mais il est dit que "'javac' n'est pas reconnu comme une commande interne ou externe, un programme exécutable ou un fichier de commandes."
J'ai donc essayé de sauvegarder les fichiers dans le soleil>sdk>jdk>bin, et à partir de là j'ai essayé de compiler les fichiers, et il était beau. Le problème s'installe quand j'ai essayé de les exécuter.
Voici comment j'ai essayé de compiler les fichiers:
javac Main.java
Sortchoice.java
Selection.java
SelectionSort.java
Insertion.java
InsertionSort.java
Exchange.java
ExchangeSort.java
(Je n'ai pas fini de la syntaxe pour les deux prochaines tri).
Voici comment j'ai essayé d'exécuter les fichiers dans cmd:
java Main Sortchoice Selection SelectionSort Insertion InsertionSort Exchange ExchangeSort
et cmd dit:
exception in thread "main" java.lang.NoClassDefFoundError: main (wring name: myjava/Main)
at java.lang.ClassLoader.defineClass1(Nativ... Method)"
at java.lang.ClassLoader.defineClass(ClassL...
at java.security.SecureClassLoader.defineCl...
at java.net.URLClassLoader.defineClass(URLC...
at java.net.URLClassLoader.access$000(URLCl...
at java.net.URLClassLoader$1.run(URLClassLo...
at java.security.AccessController.doPrivile... Method)
at java.net.URLClassLoader.findClass(URLCla...
at java.lang.ClassLoader.loadClass(ClassLoa...
at sun.misc.Launcher&AppClassLoader.loadCla...
at java.lang.ClasLoader.loadClass(ClassLoad...
at java.lang.ClassLoader.loadClassInternal(...
Que dois-je faire? (Désolé pour mon kilométrique-longue explication. Je voulais juste mettre dans autant de détails que possible.)
Je tiens également à souligner que je ne suis qu'un débutant en programmation Java.
source d'informationauteur
Vous devez vous connecter pour publier un commentaire.
Si vous cliquez sur créer à l'intérieur de NetBeans, il devrait vous donner à votre sortie du compilateur) un message comme "Pour exécuter cette application à partir de la ligne de commande sans Ant, essayez:
java-jar yourPathToRun"
La meilleure façon de le faire est: est-ce
1) créer un répertoire avec
src\
ettests\
(les tests est facultatif si vous n'êtes pas en utilisant JUnit).2) en supposant que vous avez
package myjava;
en haut de vos fichiers (et assurez-vous que c'est ce que le prof veut, il devient une douleur pour marquer des choses si elles ne sont pas à la bonne place), faire unsrc\myjava
répertoire (et si vous faites JUnit untests\myjava
répertoire).3) copier vos fichiers dans le
src\myjava
répertoire4) supprimer votre projet NetBeans et de le recréer en tant que nouveau sur l'existant avec les sources. Lorsque vous configurez le
src
(et en option,test
) répertoires ajouter lesrc\
(et éventuellement letests\
) répertoire. NE PAS ajouter de lasrc\myjava
répertoire ou il ne fonctionnera pas dans NetBeans.5) créez un répertoire appelé
classes\
(si vous vous avezsrc\
classes\
et peut-être\tests
tous au même endroit)6) sur la ligne de commande de type
javac -d classes -cp classes src/myjava/*.java
-d
indique au compilateur où mettre la .les fichiers de classe-cp
indique au compilateur où chercher classfilessrc/myjava/*.java
raconte à compiler tous les de la .fichiers java danssrc/myjava
7) exécuter via
java -cp classes myjava.Main
-cp
classes lui dit de regarder dans le répertoire classes pour l' .les fichiers de classemyjava.Main
est le nom de la classe à exécuterÀ exécuter, vous avez juste besoin
au lieu de mettre toutes les classes sur la ligne de commande.
Avez-vous déclaré un paquet dans votre .fichiers java? Comme,
? Si oui, la chaîne de commande doit être
Ne fait que répondre à vos questions?
Droit sur poste de travail>propriétés>avancé>variables d'environnement...ajouter le répertoire bin du jdk à la variable Path
exemple:
Nom de la Variable: chemin de
Valeur de la Variable: C:\Program Files\Java\jdk1.6.0_16\bin
java et javac devrait maintenant fonctionner à partir d'un répertoire dans l'invite de commande
Procédez comme suit (les exemples de code sont que des exemples, vous aurez besoin de modifier certains pour votre installation):
Définir votre JAVA_HOME dans le répertoire où le JDK est installé.
set JAVA_HOME="c:\Program Files\Java\jre1.6.0_12"
Définissez votre CHEMIN pour inclure le
bin
répertoire JAVA_HOME.set PATH=%PATH%:%JAVA_HOME%\bin
Changer le répertoire racine de votre code source. Si vous avez déclaré votre code dans les paquets, c'est le répertoire racine de votre structure de paquet. Si non, c'est le répertoire qui contient votre .fichiers java:
cd c:\My\Source\Directory
Exécuter javac avec vos fichiers Java comme argument:
javac Class1.java Class2.java
(En supposant que tout se compile correctement) Exécuter
java
avec le nom de la classe contenant la méthode main comme argument (si vous avez compris les déclarations, puis votre nom de classe entièrement qualifié en ce sens qu'elle doit inclure le nom du package avant le nom de la classe, avec un '.' séparer le nom du package à partir du nom de la classe):java Principal
Créer un dossier quelque part, dire
C:\myjava
. Copie de votre.java
source des fichiers à partir de la mesure de netbeans enregistre dans votreC:\java
par exemple. Ouvrez chacun de ces.java
les fichiers que vous venez de coller et supprimer la ligne qui indique le forfait e.gpackage myjava
. Compiler à l'aide dejavac
par exemplejavac c:\myjava\MyJava.java
. Puis l'exécuter en tant que, javac:\myjava\MyJava
La façon la plus simple de le faire est d'exécuter l'
.jar
fichier dans ledist
sous-dossier principal de votre projet de dossier. Assurez-vous que le chemin du jdkbin
dossier dans votre ordinateurSystem
Environmental Variables
est pour avoir l'habitude:jar.exe
java.exe
javac.exe
etc, (voir autres posts dans ce thread si vous avez besoin d'instructions sur le faire).1) Dans Netbeans faire une nouvelle version, appuyez sur
F11
ou cliquez sur laRun
menu et cliquez surBuild Project
. Cliquez à travers pour obtenir au-delà de toutes les invites, vous avez besoin d'une construction propre à le faire.2) dans l'invite de commande, accédez à votre projet
dist
dossier3) sur la ligne de commande du type et de la faire fonctionner:
java -jar yourMainFile.jar
Pas de créer des dossiers distincts, pas de copie de fichiers, pas de multiples fichiers à inclure sur l'argument de ligne de commande. Mais vous devrez re-construire votre projet à chaque fois que vous modifiez votre code avant de l'exécuter en ligne de commande.