2017-05-23 1 views
-6

Donc j'essaye de compiler quelques codes de Java du terminal sans éclipse. Je suivais ce tutoriel https://www.mkyong.com/java/java-rmi-hello-world-example/ Je suis les 3 fichiers Java téléchargés et je compilé les avec javac *.java aucune erreur et je suis 3 fichier .classcomment compiler correctement les fichiers java avec javac?

mais quand je courais java ServerOperation Je suis

Exception in thread "main" java.lang.NoClassDefFoundError: ServerOperation (wrong name: com/mkyong/rmiserver/ServerOperation) 
    at java.lang.ClassLoader.defineClass1(Native Method) 
    at java.lang.ClassLoader.defineClass(ClassLoader.java:803) 
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142 
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:442) 
    at java.net.URLClassLoader.access$100(URLClassLoader.java:64) 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:354) 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:348) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:347) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:425) 
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:312) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:358) 
    at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:482) 

Je pense que je n'ai pas compilé les fichiers correctement mais je ne sais pas comment le faire. quelle commande dois-je utiliser pour compiler?

mise à jour: fixe après avoir retiré la déclaration de package Comment marquer cette résolution comme Un grand merci à Tom pour ses commentaires inutiles

+0

Pourquoi ne pas lire le tutoriel lié. Il vous indique comment l'exécuter: java com.mkyong.rmiserver.ServerOperation –

+0

Je sais ce que le message d'erreur signifie mais je ne sais pas comment le réparer. –

+0

et clairement java com.mkyong.rmiserver.ServerOperation ne va pas travailler –

Répondre

0

La compilation était correcte.

Toutefois, votre classe principale est placée dans un package .

Ceci est dû à la première ligne de ServerOperation.java:

package com.mkyong.rmiserver; 

Pour exécuter le programme, vous devez inclure le paquet lors de l'exécution de classe principale. Cela signifie que vous devez naviguer vers la racine de package/directory (dans ce cas, juste avant le dossier com).

Bien qu'il y ait Type:

$ java com.mkyong.rmiclient.ServerOperation