Вы, люди, заставляете меня чувствовать себя в сознании. Я постараюсь сделать это лучше.Java-программа, работающая на Windows 7, но не Windows 8?
Хорошо, поэтому эта программа (не убивайте меня .. я ее загрузил) работает только на Windows 7 и Ubuntu, насколько я могу судить. Когда вы открываете его в Windows 8, он говорит «Ошибка исключения Java».
Я думаю, что это как-то связано с catch(messagingException ex)
в конце файла. Я признаю, что я не знаю много о Java, но вы должны начать где-нибудь, не так ли? Я знаю, что java для всех платформ!
Я также пробовал эту программу с несколькими файлами и несколькими учетными записями Gmail ... Я даже попробовал это с моим адресом электронной почты Comcast.
Я использую «JavaMailAPI» (http://www.oracle.com/technetwork/java/javamail/index.html) для фактической части рассылки.
Когда я открываю его на терминале в Windows 8 это дает мне это:
Exception in thread "Main" java.lang.noclassdeffounderror: java/mail/mailexception
at java.lang.Class.getDeclaredMethods0(Native Method)
at java.langf.Class.privateGetDdecLaredMethods(Unkown source)
at java.lang.Class.getMethod(unknown source)
at sun.launcher.LauncherHelper.getMainMethod(Unknown source)
caused by: java.lang.classnotfoundexception: java.mail.messagingException
at java.net.URLCLassLoader$1.run(unknown source)
at java.net.URLClassLoader$1.run(Unknown source)
at java.security.AccessController.doPrivaleged(native Method)
at java.net.URLClassLoader.findClass(Unknown source)
at java.lang.ClassLoader.findClass(Unkown source)
at jaa.lang.CLassLoader.loadClass(Unknown source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown source)
at java.lang.ClassLoader.loadClass(Unknown source)
... 6 more
Вот код:
package testing;
import java.util.Properties;
import javax.activation.DataHandler;
import javax.activation.DataSource;
import javax.activation.FileDataSource;
import javax.mail.BodyPart;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Multipart;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMultipart;
import java.util.logging.Level;
import java.util.logging.Logger;
public class Testing{
public static void main(String[] args) {
Properties props = new Properties();
props.put("mail.smtp.host", "smtp.gmail.com");
props.put("mail.smtp.socketFactory.port", "465");
props.put("mail.smtp.socketFactory.class",
"javax.net.ssl.SSLSocketFactory");
props.put("mail.smtp.auth", "true");
props.put("mail.smtp.port", "465");
Session session = Session.getDefaultInstance(props,
new javax.mail.Authenticator() {
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication("Email","Password");
}
});
try {
BodyPart messageBodyPart = new MimeBodyPart();
Multipart multipart = new MimeMultipart();
Message message = new MimeMessage(session);
message.setFrom(new InternetAddress("Email Address"));
message.setRecipients(Message.RecipientType.TO,
InternetAddress.parse("Email Address to send "));
message.setSubject("Subject");
message.setText("Message");
String filename = "attachment location";
DataSource source = new FileDataSource(filename);
message.setDataHandler(new DataHandler(source));
message.setFileName(filename);
multipart.addBodyPart(messageBodyPart);
Transport.send(message);
System.out.println("Done");
} catch (MessagingException ex) {
Logger.getLogger(Testing.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
Если вам нужно что-нибудь еще о программе, пожалуйста, ASK!
Видимо, на компьютере с пакетом 'java.mail' (JAR-файл) отсутствует Windows 8 –
Какая версия Java вы используете в этих системах? Какие библиотеки упакованы вместе с приложением? – toniedzwiedz
Я запускаю Java 7u13 на обеих машинах, и JavaMail должен быть упакован с ним .. но, похоже, это не так. Я предполагаю, что это будет моя проблема, как мне упаковать библиотеку с программой? – Leetfail