2010-03-22 5 views
-2

I possède fichier bat comme ci-dessous avec le nom myBat.batException in thread "main" java.lang.NoClassDefFoundError: lors de l'exécution .bat fichier

1)

@echo off 
set CLASSPATH=%CLASSPATH%;C:\Documents and Settings\nchakk\Desktop\3611 java\ 
javac packbat/inter.java 
java packbat.samplepack 
pause 

2) Interface "inter" à l'intérieur de paquet packbat

package packbat; 
public interface inter 
{ 
    int i=10; 
} 

3) ma classe principale() à l'intérieur paquet packbat

package packbat; 
public class samplepack implements inter 
{ 
    public static void main(String s[]) 
    { 
    System.out.println(i); 
    } 
} 

Après avoir cliqué sur ce fichier .bat il affiche cette erreur:

Exception in thread "main" java.lang.NoClassDefFoundError: packbat/inter 
Caused by: java.lang.ClassNotFoundException: packbat.inter

Comment faire pour exécuter ce fichier .bat sans erreur.

+0

Le répertoire packbat se trouve-t-il dans le même répertoire que celui dans lequel vous exécutez le fichier de commandes? Ou est-ce dans un endroit différent? –

+0

tous les fichiers sont dans le même répertoire. C: \ Documents and Settings \ nchakk \ Desktop \ 3611 java \ packbat \ – Manu

Répondre

1

Vous avez fait une erreur dans votre fichier mybat.bat.

Vous ne compilez pas l'interface, vous devez compiler le fichier samplepack.java et non inter.java. En outre, prenez soin de votre CLASSPATH car il y a de la place dans le PATH. Ajoute comme ça:

set CLASSPATH=%CLASSPATH%;"C:\Documents and Settings\nchakk\Desktop\3611 java\"; 

Et pour finir si vous utilisez le « javac packbat/samplepack.java » vous devez mettre votre myBat.bat dans le répertoire parent de vos fichiers java.

+0

@echo off set CLASSPATH =% CLASSPATH%; "C: \ Documents and Settings \ nchakk \ Desktop \ 3611 java \"; javac packbat.samplepack.java java packbat.samplepack pause selon votre suggestion, je fais les changements, mais im obtenir la même erreur – Manu

+1

je l'ai essayé à la maison et il fonctionne très bien. Mon fichier de chauve-souris ressemble à ceci et il est situé dans le dossier parent du package: @echo off set CLASSPATH =% CLASSPATH%; "C: \ Documents and Settings \ nchakk \ Desktop \ 3611 java \" javac packbat \ samplepack.java java packbat.samplepack pause –

+0

Je voudrais simplement ajouter que mon dossier de paquetage se trouve dans le répertoire "C: \ Documents and Settings \ nchakk \ Desktop \ 3611 java \". Vous devez donc placer votre dossier de package (packbat) et le fichier myBat.bat dans ce chemin. (BTW vos classes doivent être dans le dossier packbat) –

0

Essayez ensemble "CLASSPATH =% CLASSPATH%; C: \ Documents and Settings \ nchakk \ Desktop \ 3611 java \"

(mettre des guillemets autour du chemin, car il contient des espaces).

+0

Im obtenir cette erreur - javac: fichier non trouvé: packbat.samplepack.java Utilisation: javac utilisation -help pour une liste d'options possibles Exception dans le fil "principal" java.lang.NoClassDefFoundError: packbat/samplepack Causé par: java.lang.ClassNotFoundException: packbat.samplepack Impossible de trouver la classe principale: packbat.samplepack. Le programme va sortir. Appuyez sur n'importe quelle touche pour continuer. . . – Manu

Questions connexes