2010-11-26 7 views
4

Je tente d'exécuter un fichier Java sur une machine Unix. Permettez-moi de montrer la structure des répertoires première:Java: Classe introuvable dans Unix

/home/username 
    |_ SimpleMail.java 
    |_ mail.jar 

J'ai compilé le code Java en utilisant:

# javac -classpath mail.jar SimpleMail.java 

Après avoir compilé que, répertoire a:

/home/username 
     |_ SimpleMail.java 
     |_ mail.jar 
     |_ SimpleMail.class 

Maintenant, j'essayé de courir que Fichier de classe SimpleMail. Qui donne classe erreur non trouvée: J'ai essayé de courir la classe en utilisant:

# java -classpath mail.jar SimpleMail 

Erreur:

The java class is not found: SimpleMail 

Quel est le problème dans ce processus?

Merci :)

+0

Une question bien formaté et bien présenté +1 – Joel

Répondre

5

Vous devez inclure le répertoire en cours sur le chemin de classe aussi, pour ramasser les ClassFile là:

java -classpath mail.jar:. SimpleMail 

Cela ne fonctionnera que si SimpleMail n'est pas dans un paquet . Sinon, vous devez compiler avec -d . et inclure le nom du package lorsque vous utilisez java:

javac -d . -classpath mail.jar SimpleMail.java 

java -classpath mail.jar:. my.pkg.SimpleMail 
+0

+1 pour le cas: ' SimpleMail' dans un paquet. Merci, Jon! – bdhar

+0

Pouvez-vous s'il vous plaît vérifier ici pour moi http://pastebin.com/9ttWyuKb –

+0

@Mohamed: Vous avez besoin activation.jar. Il aurait dû être dans la distribution JavaMail ou lié à partir de celui-ci. –

0
# java -classpath mail.jar;. SimpleMail 

fera

+0

Il donne quelque chose comme ceci: http://pastebin.com/VFVcg71Z –

Questions connexes