用eclipse建立一个java工程,路径:D:\matrix\workspace\email,在该路径下:D:\matrix\workspace\email\com\matrix\send,有个发送电子邮件的类SimpleSender,其.java文件如下:
-------------------------------------------------------------
package com.matrix.send;import javax.mail.*;
import javax.mail.internet.*;
import java.util.*;public class SimpleSender { /**
 * @param args
 */
public static void main(String[] args) 
{
// TODO Auto-generated method stub
try{ String smtpServer=args[0]; String to=args[1]; String from=args[2]; String subject=args[3]; String body=args[4]; send(smtpServer, to, from, subject, body);
}
catch (Exception ex)
{
System.out.println("Usage: java com.matrix.send.SimpleSender"
+" smtpServer toAddress fromAddress subjectText bodyText");
} System.exit(0);
}

public static void send(String smtpServer, String to, String from, String subject, String body)
{

try
{ Properties props = System.getProperties();
// -- Attaching to default Session, or we could start a new one --
props.put("mail.smtp.host", smtpServer);
Session session = Session.getDefaultInstance(props, null);
// -- Create a new message --
Message msg = new MimeMessage(session);
// -- Set the FROM and TO fields --
msg.setFrom(new InternetAddress(from));
msg.setRecipients(Message.RecipientType.TO,
InternetAddress.parse(to, false)); // -- We could include CC recipients too --
// if (cc != null)
// msg.setRecipients(Message.RecipientType.CC
// ,InternetAddress.parse(cc, false));
// -- Set the subject and body text -- msg.setSubject(subject);
msg.setText(body); // -- Set some other header information --
msg.setHeader("X-Mailer", "LOTONtechEmail");
msg.setSentDate(new Date()); // -- Send the message --
Transport.send(msg);
System.out.println("Message sent OK.");
}
catch (Exception ex)
{
System.out.println("send error!");
ex.printStackTrace();
}
}
}
--------------------------------------------------------------
在命令行:
D:\matrix\workspace\email\com\matrix\send>java SimpleSender smtp.tom.com matrix2005 matrix2005 "test" "test"Exception in thread "main" java.lang.NoClassDefFoundError: SimpleSender请各位大虾指教!!!!

解决方案 »

  1.   

    错了。应该是在D:\matrix\workspace\email下输入:
    java com.matrix.send.SimpleSender smtp.tom.com matrix2005 matrix2005 "test" "test"
      

  2.   

    环境变量没设置对
    或者你的类文件放目录正确,新建个类然后把代码Copy过去,再编译就OK了
      

  3.   

    这种问题就是你的环境变量弄错了。关键在于(我猜测)你的环境变量 CLASSPATH没有那个点应该是
    CLASSPATH = .;$JAVA_HOME/lib
      

  4.   

    http://www.csst.com.cn/这是中软培训的网站.我们这有专业的培训老师.结业成绩优秀可以考虑到中软国际来上班啊!.联系人:姜老师010-62147349
      

  5.   

    To:kyosing(火)
    关于环境变量的设置,能说的具体一点吗?
    我重新建了一个类,也不行.
      

  6.   

    To:healer_kx(甘草 天也不早了,楼主揭帖吧... ...) 
    也设置了,我的classpass:
    .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar;D:\matrix\myclasses;D:\Tomcat 5.5\common\lib\servlet-api.jar;D:\javaMail\mail.jar;D:\javaMail\activation.jar
      

  7.   

    在命令行下输入JAVA+类名的时候要把包的名字也包括下去P.S:为什么不在ECLIPSE内直接运行还跑到命令行下。。汗。。
      

  8.   

    To:nedvedchm(苍)
    刚开始是看教程,所以按照它所说的做.
    现在在eclipse里头可以了,但是按照java path/*.class,还是出现那个错误!!
    晕~