【紧急】已经加上mail.jar包 但是总是说找不到com/sun/mail/util/LineInputStream

cart55free99 2010-12-26 11:18:14
想用JavaMail应经加上jar包 但是总是说找不到com/sun/mail/util/

Exception in thread "main" java.lang.NoClassDefFoundError: com/sun/mail/util/LineInputStream

但是在WEB-INF下的lib中已经有mail.jar 我还加上了activation.jar

在referenced libraries 中也有mail.jar activation.jar 但还是报错。

点开referenced libraries 下的mail.jar 明明有 LineInputStream.class



MyEclipse 还重新装过, 工作空间也换过。mail.jar 还下载了新的版本

但是错误依旧



难道是代码的问题?
我记得这一段从网上copy的代码 还用过一次

package test;
import java.util.*;
import java.io.*;
import javax.mail.*;
import javax.mail.internet.*;
import javax.activation.*;


public class SendMail {

//要发送Mail地址
private String mailTo = null;
//Mail发送的起始地址
private String mailFrom = null;
//SMTP主机地址
private String smtpHost = null;
//是否采用调试方式
private boolean debug = false;

private String messageBasePath = null;
//Mail主题
private String subject;
//Mail内容
private String msgContent;

private Vector attachedFileList;
private String mailAccount = null;
private String mailPass = null;
private String messageContentMimeType ="text/html; charset=gb2312";

private String mailbccTo = null;
private String mailccTo = null;
/**
* SendMailService 构造子注解。
*/
public SendMail() {
super();

}

private void fillMail(Session session,MimeMessage msg) throws IOException, MessagingException{

String fileName = null;
Multipart mPart = new MimeMultipart();
if (mailFrom != null) {
msg.setFrom(new InternetAddress(mailFrom));
System.out.println("发送人Mail地址:"+mailFrom);
} else {
System.out.println("没有指定发送人邮件地址!");
return;
}
if (mailTo != null) {
InternetAddress[] address = InternetAddress.parse(mailTo);
msg.setRecipients(Message.RecipientType.TO, address);
System.out.println("收件人Mail地址:"+mailTo);
} else {
System.out.println("没有指定收件人邮件地址!");
return;
}

if (mailccTo != null) {
InternetAddress[] ccaddress = InternetAddress.parse(mailccTo);
System.out.println("CCMail地址:"+mailccTo);
msg.setRecipients(Message.RecipientType.CC, ccaddress);
}
if (mailbccTo != null) {
InternetAddress[] bccaddress = InternetAddress.parse(mailbccTo);
System.out.println("BCCMail地址:"+mailbccTo);
msg.setRecipients(Message.RecipientType.BCC, bccaddress);
}
msg.setSubject(subject);
InternetAddress[] replyAddress = { new InternetAddress(mailFrom)};
msg.setReplyTo(replyAddress);
// create and fill the first message part
MimeBodyPart mBodyContent = new MimeBodyPart();
if (msgContent != null)
mBodyContent.setContent(msgContent, messageContentMimeType);
else
mBodyContent.setContent("", messageContentMimeType);
mPart.addBodyPart(mBodyContent);
// attach the file to the message
if (attachedFileList != null) {
for (Enumeration fileList = attachedFileList.elements(); fileList.hasMoreElements();) {
fileName = (String) fileList.nextElement();
MimeBodyPart mBodyPart = new MimeBodyPart();

// attach the file to the message
FileDataSource fds = new FileDataSource(messageBasePath + fileName);
System.out.println("Mail发送的附件为:"+messageBasePath + fileName);
mBodyPart.setDataHandler(new DataHandler(fds));
mBodyPart.setFileName(fileName);
mPart.addBodyPart(mBodyPart);
}
}
msg.setContent(mPart);
msg.setSentDate(new Date());
}
/**
* 此处插入方法说明。
*/
public void init()
{

}
/**
* 发送e_mail,返回类型为int
* 当返回值为0时,说明邮件发送成功
* 当返回值为3时,说明邮件发送失败
*/
public int sendMail() throws IOException, MessagingException {

int loopCount;
Properties props = System.getProperties();
props.put("mail.smtp.host", smtpHost);
props.put("mail.smtp.auth", "true");

MailAuthenticator auth = new MailAuthenticator();

Session session = Session.getInstance(props, auth);
session.setDebug(debug);
MimeMessage msg = new MimeMessage(session);
Transport trans = null;
try {

fillMail(session,msg);
// send the message
trans = session.getTransport("smtp");
try {
trans.connect(smtpHost, MailAuthenticator.MAIL_USER, MailAuthenticator.MAIL_PASSWORD);//, HUAWEI_MAIL_PASSWORD);
} catch (AuthenticationFailedException e) {
e.printStackTrace();
System.out.println("连接邮件服务器错误:");
return 3;
} catch (MessagingException e) {
System.out.println("连接邮件服务器错误:");
return 3;
}

trans.send(msg);
trans.close();

} catch (MessagingException mex) {
System.out.println("发送邮件失败:");
mex.printStackTrace();
Exception ex = null;
if ((ex = mex.getNextException()) != null) {
System.out.println(ex.toString());
ex.printStackTrace();
}
return 3;
} finally {
try {
if (trans != null && trans.isConnected())
trans.close();
} catch (Exception e) {
System.out.println(e.toString());
}
}
System.out.println("发送邮件成功!");
return 0;
}
public void setAttachedFileList(java.util.Vector filelist)
{
attachedFileList = filelist;
}
public void setDebug(boolean debugFlag)
{
debug=debugFlag;
}
public void setMailAccount(String strAccount) {
mailAccount = strAccount;
}
public void setMailbccTo(String bccto) {
mailbccTo = bccto;
}
public void setMailccTo(String ccto) {
mailccTo = ccto;
}
public void setMailFrom(String from)
{
mailFrom=from;
}
public void setMailPass(String strMailPass) {
mailPass = strMailPass;
}
public void setMailTo(String to)
{
mailTo=to;
}
public void setMessageBasePath(String basePath)
{
messageBasePath=basePath;
}
public void setMessageContentMimeType(String mimeType)
{
messageContentMimeType = mimeType;
}
public void setMsgContent(String content)
{
msgContent=content;
}
public void setSMTPHost(String host)
{
smtpHost=host;
}
public void setSubject(String sub)
{
subject=sub;
}

public static void main(String[] argv) throws Exception
{
for(int i = 0;i<10;i++) {
SendMail sm = new SendMail();
sm.setSMTPHost("smtp.163.com");
sm.setMailFrom("XXXXXX@163.com");
sm.setMailTo("XXXXXXX@qq.com");
sm.setMsgContent("内容");
sm.setSubject("标题");
sm.sendMail();
}
}
}


class MailAuthenticator extends Authenticator {
// ******************************
// 由于发送邮件的地方比较多,
// 下面统一定义用户名,口令.
// ******************************
public static String MAIL_USER = "cXXXXX9@163.com";
public static String MAIL_PASSWORD = "XXXXXX";

public MailAuthenticator() {
}

protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(MAIL_USER,
MAIL_PASSWORD);
}

}


...全文
2811 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiongbobo123 2012-09-07
  • 打赏
  • 举报
回复
你这人太坏了 解决的就不吭声,鄙视你这样的程序员···
chooseforget 2010-12-27
  • 打赏
  • 举报
回复
楼主可以先把jar包全部移除,然后再添加。

这样可以重新生成classpath并且clean一下项目重新编译。
chooseforget 2010-12-27
  • 打赏
  • 举报
回复
按照这个兄弟说的检查一下。classpath问题确实很头疼。确保没有错误或者包冲突。[Quote=引用 3 楼 sositesine 的回复:]
引用 2 楼 cart55free99 的回复:
工程里面已经有呢
在工程下的.classPath 文件中已经有
<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/activation.jar"/>
<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/mail.jar"/>

……
[/Quote]
强长黑粗硬 2010-12-27
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 cart55free99 的回复:]
工程里面已经有呢
在工程下的.classPath 文件中已经有
<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/activation.jar"/>
<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/mail.jar"/>

[/Quote]
这样一般就可以了呀。
你在工程上右键-〉属性-〉Java build path-〉library里面,这两个包上面没问题吧,没有叹号什么的错误?

关于添加到classPath,你到我的电脑-〉属性-〉环境变量里面设置一下

然后看看是不是可以
cart55free99 2010-12-27
  • 打赏
  • 举报
回复
工程里面已经有呢
在工程下的.classPath 文件中已经有
<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/activation.jar"/>
<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/mail.jar"/>

你说的添加到classPath 是指在CMD中输入
set classpath=%classpath%;D:\Workspaces8.6\JavaMail\WebRoot\WEB-INF\lib\mail.jar 吗?
强长黑粗硬 2010-12-27
  • 打赏
  • 举报
回复
啥呀?说来听听,免得我以后也郁同样的闷
cart55free99 2010-12-27
  • 打赏
  • 举报
回复
解决了。。 原因超级弱智, 我都不好意思说了。。
强长黑粗硬 2010-12-26
  • 打赏
  • 举报
回复
拷到lib下了,在工程里添加了吗?

如果添加了还不好那把它加到classpath里再试试
渭河流域位于中国黄河中游地区,是黄河的重要一级支流流域,地理范围主要涵盖陕西省中部、甘肃东部和宁夏部分地区。该流域自西向东延伸,总长约818公里,流域面积广阔,人口密集,是我国重要的农业与工业带,同时也是西北地区经济、文化与生态发展的核心区域之一。渭河流域水系发育完善,除干流外,还包括泾河、洛河、沣河、滈河等多条支流,构成了完整的河网体系,对黄河流域的水资源调配与生态安全具有重要意义。 本数据集提供了渭河流域矢量边界及河流分布的标准化shp文件,包含以下文件: (1)可编辑MXD文件:可直接在 ArcGIS 中打开,用户可进行二次编辑、专题制图及空间分析,方便科研、教学与管理应用。 (2)标准SHP文件:包含渭河流域边界矢量数据以及干流与主要支流的矢量化河流线条,属性表中附带河流名称、流域隶属等信息,便于查询与叠加分析。 (3)标准成图TIF文件:输出高清、规范的地图成果,能够直观展示渭河流域整体边界与内部河流分布格局,可用于汇报、展示与出版。 本资源可广泛应用于流域水资源管理、生态环境保护、土地利用研究、洪涝灾害评估等领域,同时也能为流域综合治理、生态修复规划、水文模拟与地理建模提供基础支撑。通过与其他数据(如DEM、土地覆盖、气象数据)叠加使用,还能开展更加深入的多源数据分析,为黄河流域高质量发展与区域生态安全提供科学依据。
一、商户信息管理模块 商户入驻与审核 商户在线提交入驻申请,上传营业执照、经营许可证、卫生许可证(餐饮类)等资质文件,填写基本信息(商户名称、经营范围、地址、联系方式、营业时间等)。 景区管理员对申请进行审核,通过后生成唯一商户编号,商户可登录系统完善详情(店铺简介、环境照片、特色产品等)。 商户分类与标签管理 按经营类型分类:餐饮住宿(民宿、餐馆)、旅游商品(手工艺品、特产店)、体验项目(骑马、漂流)、便民服务(超市、药店)等。 为商户添加特色标签(如 “清真餐饮”“亲子友好”“网红打卡地”),便于游客精准筛选。 商户信息维护 商户可更新店铺状态(营业 / 暂停 / 歇业)、修改营业时间、发布临时公告(如 “今日特价活动”)。 管理员可查看商户运营数据,对违规商户进行警告、限期整改或暂停合作处理。 二、商户运营监管模块 商品与服务管理 商户上传商品 / 服务信息(名称、价格、规格、图片),餐饮类需标注食材来源、口味特色;体验类需注明安全须知、时长。 支持价格调整记录,系统自动留存价格变动日志,便于监管部门核查是否存在乱收费现象。 游客消费与投诉处理 对接支付系统,记录游客在商户的消费数据(匿名化处理,仅统计交易金额、频次)。 游客可通过系统提交对商户的投诉(服务态度、商品质量、价格问题等),上传凭证(照片、聊天记录),系统自动通知商户限期回应,管理员跟踪处理结果。 评分与信用管理 游客消费后可对商户进行星级评分(1-5 星)及文字评价,评价内容需经管理员审核后展示。 系统根据评分、投诉处理率、违规记录生成商户信用等级,信用过低的商户将被限制曝光或强制整改。 三、景区资源与活动管理 商户资源调度 针对景区内共享资源(如摊位、停车场、公共休息区),商户可在线申请使用时段,管理员审核分配,避免资源冲突。 记录资源使用情况,按规定收取管理费,生成缴费提醒与票据。

67,543

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧