2011-02-10 5 views
1

Étant donné ce fichier .bat:compiler et exécuter problème de fichier batch de fichier java

@ECHO OFF 

echo === Compiling and executing bat file === 


md C:\my_project\dir_prog\class_files 


copy ProgAudioJ.java C:\my_project\dir_prog 


javac -d C:\my_project\dir_prog\class_files ProgAudioJ.java 


java -classpath C:\my_project dir_prog.class_files.ProgAudioJ 

Je me demande ce qui ne va pas avec elle.

Cela ne fonctionne tout simplement pas.

Je veux dire qu'il place les fichiers de classe dans le répertoire appelé class_files (de sorte que le processus de compilation est ok) mais le programme ne fonctionne pas ...

Merci pour votre aide MAX

+2

Avez-vous une sortie du fichier chauve-souris? Pouvez-vous poster le code source de ProgAudioJ.java? –

+3

Si vous avez un problème avec lequel vous aimeriez recevoir de l'aide, ne vous arrêtez pas à "Ça ne marche pas". Dites-nous ce qu'il produit, quel est le message d'erreur, ce que vous attendez, ce qui se passe réellement, etc. Cela s'applique à tout type de problème informatique que vous rencontrez. –

Répondre

1

Avez-vous défini une classe principale au sein de votre projet et avez-vous défini les

méthode public static void main (String [] args) pour cette classe? Rappelez-vous, cette méthode se appelée lors de l'exécution des trucs de shell ...

EDIT: vous trouverez peut-être cet aperçu complet UTILE: Running a Java Program from Command Prompt @ SkylightPublishing.com

HTH

1

Je pense que le premier problème est que vous devez spécifier le répertoire class_files sur le chemin de classe.

Le deuxième problème est que vous devez spécifier le nom qualifié complet de la classe que vous souhaitez exécuter. Cela dépend du package que vous avez défini dans le fichier source Java.

donc quelque chose comme ça devrait fonctionner: (je suppose votre classe est dans le package par défaut, à savoir pas package)

java -classpath c:\my_project\dir_prog\class_files ProgAudioJ 

Pouvez-vous fournir le contenu du fichier source?

+0

Merci pour votre réponse. J'ai essayé de suivre votre suggestion mais malheureusement ça ne marche pas. Je n'ai spécifié aucun paquet dans le fichier source. Devrais-je ? – MAX

+0

Exécutez-vous la commande ci-dessus à partir du fichier bat ou de la ligne de commande? Pouvez-vous les essayer tous les deux? Pouvez-vous poster le code source de ProgAudioJ.java. Quelle est la sortie? –

+0

la sortie est un lecteur de fichier wav et enregistreur et menuisier .. Si je l'exécute à partir de la ligne de commande, j'ai cette erreur: Exception dans le fil "principal" java.lang.NoClassDefFoundError: ProgAudioJ/jav Causé par: java.lang. ClassNotFoundException: ProgAudioJ.java at java.net.URLClassLoader $ 1.run (source inconnue) Le programme va quitter. – MAX

0

Si votre code et votre commande sont corrects, je suspecterais un retard, lié à l'exécution asynchrone de javac ou au système de fichiers. Essayez d'ajouter une commande de pause afin de vérifier si le problème est la rapidité d'exécution des commandes ou si le problème est dans la commande.

Questions connexes