2013-02-17 2 views
1

당신은 사람들을 나를 의식적으로 만들고 있습니다. 나는 이것을 더 잘 만들려고 노력할 것입니다.Java 프로그램이 Windows 7에서 작동하지만 Windows 8에서 작동하지 않습니까?

그래,이 프로그램 (내가 다운로드하지 마라.)은 내가 말할 수있는 한 Windows 7과 우분투에서만 작동한다. Windows 8에서 열면 "Java exception Error"라고 표시됩니다.

나는 파일 끝에 catch(messagingException ex)과 관련이 있다고 생각합니다. 나는 자바에 대해 많이 알지 못한다.하지만 어딘가에서 시작해야한다. 그렇지 않니? Java가 모든 플랫폼 용이라는 것을 알고 있습니다!

나는 또한 여러 파일과 여러 Gmail 계정으로이 프로그램을 사용해 보았습니다 ... 나는 심지어 내 컴캐스트 이메일 주소로 시도했습니다.
실제 우편물 부분에 "JavaMailAPI"(http://www.oracle.com/technetwork/java/javamail/index.html)를 사용하고 있습니다. 이 프로그램에 대해 다른 작업을해야하는 경우

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); 
      } 
     } 
} 

문의하시기 바랍니다 :

다음
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 

코드입니다 : 나는 윈도우 8에서 터미널을 열 때

는이 날 수 있습니다!

+3

Windows 8이 설치된 컴퓨터에서 java.mail 패키지 (JAR 파일)가 누락되었습니다. –

+0

이 시스템에서 실행중인 Java 버전은 무엇입니까? 어떤 라이브러리가 앱과 함께 제공됩니까? – toniedzwiedz

+0

두 머신 모두에서 Java 7u13을 실행 중이므로 JavaMail과 함께 패키징해야합니다. 그게 내 문제가 될거라 생각하고있어, 어떻게 프로그램과 함께 도서관을 꾸리나요? – Leetfail

답변

0

You have to download Java Mail

JavaMail에이 응용 프로그램에서 필요한 경우 패키지와 JavaMail에 등 필요한 JAR 파일을 설치하기위한 설치 프로그램을 구축해야한다.

+0

감사합니다,하지만 어쨌든 프로그램 자체에 추가 할 예정입니까? 그래서 모든 사람들에게 다운로드하라고 말할 필요가 없습니까? – Leetfail

+0

컴퓨터에서 javamail을 사용하려면 "Mail.jar"만 실행하면됩니까? – Leetfail

+0

배포 용 앱을 제작하는 것은 빌드 도구의 일입니다. [Gradle] (http://www.gradle.org/) 및 특히 [응용 프로그램 플러그인] (http://www.gradle.org/docs/current/userguide/application_plugin.html)을 살펴보십시오. 앱용 일괄 처리 및 셸 스크립트를 생성하고 해당 코드, 코드 및 필요한 모든 라이브러리가 포함 된 zip 또는 tar 파일을 작성하십시오. –

관련 문제