Javamail демо не работает
Я попытался запустить демо msgsend из JavaMail. Я скачал версию 1.4.5 JavaMail и распаковал ее в папку JDK. Я добавил mail.jar в CLASSPATH. Я скомпилировал msgsend.java без каких-либо ошибок. Тем не менее, когда я тогда пытаюсь запустить Java msgsend я получаю "Could not find the main class: msgsend"
ошибка.
Я абсолютный новичок в мире Java и часами просматриваю Интернет, пытаясь найти ответ, но безрезультатно в моем случае.
Вот что я получаю в консоли. Что я делаю неправильно?
C:\Program Files\Java\jdk1.6.0_34\javamail-1.4.5\demo>echo %CLASSPATH%
C:\Program Files\Java\jdk1.6.0_34\javamail-1.4.5\mail.jar
C:\Program Files\Java\jdk1.6.0_34\javamail-1.4.5\demo>javac -cp "%classpath%" ms
gsend.java
C:\Program Files\Java\jdk1.6.0_34\javamail-1.4.5\demo>java msgsend
Exception in thread "main" java.lang.NoClassDefFoundError: msgsend
Caused by: java.lang.ClassNotFoundException: msgsend
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
Could not find the main class: msgsend. Program will exit.
C:\Program Files\Java\jdk1.6.0_34\javamail-1.4.5\demo>java -cp "%classpath%" msg
send
Exception in thread "main" java.lang.NoClassDefFoundError: msgsend
Caused by: java.lang.ClassNotFoundException: msgsend
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
Could not find the main class: msgsend. Program will exit.
C:\Program Files\Java\jdk1.6.0_34\javamail-1.4.5\demo>
2 ответа
Классы чувствительны к регистру. Убедитесь, что у вас есть скомпилированный MsgSend в вашем пути к классам, и вызовите скомпилированный класс с правильным регистром.
Пытаться java MsgSend
Отредактировано:
Вот как это будет работать:
Скомпилируйте как вы делали:javac.exe -cp ..\mail.jar msgsend.java
А затем для запуска скомпилированного класса выполните:java -cp ..\mail.jar;. msgsend
Другими словами: вы пропустили текущую папку в вашем classpath.
Вы не включили каталог, в котором существует msgsend.class, обычно это текущий каталог ("."). Смотрите примеры в файле README.txt, включенном в JavaMail.