如果你用myEclipse进行开发的话,运行时可能会出现以下的错误:
Exception in thread "main" java.lang.NoClassDefFoundError: com/sun/mail/util/LineInputStream
原因是jar包版本不统一,解决方法如下:
删除Java EE 5 Libraries/javaee.jar/mail里的包有东西.
具体方法如下:
用rar打开X:/Program Files/MyEclipse 6.0/myeclipse/eclipse/plugins/com.genuitec.eclipse.j2eedt.core_6.0.1.zmyeclipse601200710/data/libraryset/EE_5/javaee.jar
,然后删除mail,一切就ok了.
Exception in thread "main" java.lang.NoClassDefFoundError: com/sun/mail/util/LineInputStream
原因是jar包版本不统一,解决方法如下:
删除Java EE 5 Libraries/javaee.jar/mail里的包有东西.
具体方法如下:
用rar打开X:/Program Files/MyEclipse 6.0/myeclipse/eclipse/plugins/com.genuitec.eclipse.j2eedt.core_6.0.1.zmyeclipse601200710/data/libraryset/EE_5/javaee.jar
,然后删除mail,一切就ok了.
SMTP:简单邮件传输协议(Simple Mail Transfer Protocol,SMTP)由RFC821定义,它定义了发送邮件的机制,在JavaMail环境中,基于JavaMail的程序将和因特网服务供应商ISP(internet Service Provider ’ s)SMTP服务器通信.SMTP服务器会中转消息给接收方SMTP服务器以便最终让用户经由POP或者IMAP获得.
POP:代表邮局协议(Post Office Protocol).目前的版本是3.所以一般都称之为POP3.这个协议是由RFC1939定义的.POP是一种机制,因特网上多大数用户用它得到邮件.它规定每个用户一个邮箱的支持.使用POP协议的时候,用户的许多性能并不是由POP协议支持的,如查看几封新邮件消息这个功能,这些功能内建在如Eudora或MicrosoftOutlook之类的程序中,它们记住一些事.所以在用JavaMail的时候,如果你想要这些信息,你就必须自己算了.
IMAP:是更高级的用户接收消息的协议,被定义在RFC2060中,IMAP代表因特网消息访问协议(Internet Message Access Protocol),目前用的版本是4,所以也叫做IMAP4.在用到IMAP的时候,邮件服务器必须支持这个协议,不能仅仅把使用POP的程序用于IMAP,并指望它支持IMAP所有性能.
MIME:是因特网邮件扩展标准(Multipurpose Internet Mail Extensions).它不是邮件传输协议,但是对于传输的内容的消息,附件以及其他的内容定义了格式.可以理解成一个定义合适的标准.
NNTP:因为JavaMail将供应商和所有其它的东西分开了,您就能轻松添加额外的协议支持.NNTP 就是网络新闻传输协议.
POP:代表邮局协议(Post Office Protocol).目前的版本是3.所以一般都称之为POP3.这个协议是由RFC1939定义的.POP是一种机制,因特网上多大数用户用它得到邮件.它规定每个用户一个邮箱的支持.使用POP协议的时候,用户的许多性能并不是由POP协议支持的,如查看几封新邮件消息这个功能,这些功能内建在如Eudora或MicrosoftOutlook之类的程序中,它们记住一些事.所以在用JavaMail的时候,如果你想要这些信息,你就必须自己算了.
IMAP:是更高级的用户接收消息的协议,被定义在RFC2060中,IMAP代表因特网消息访问协议(Internet Message Access Protocol),目前用的版本是4,所以也叫做IMAP4.在用到IMAP的时候,邮件服务器必须支持这个协议,不能仅仅把使用POP的程序用于IMAP,并指望它支持IMAP所有性能.
MIME:是因特网邮件扩展标准(Multipurpose Internet Mail Extensions).它不是邮件传输协议,但是对于传输的内容的消息,附件以及其他的内容定义了格式.可以理解成一个定义合适的标准.
NNTP:因为JavaMail将供应商和所有其它的东西分开了,您就能轻松添加额外的协议支持.NNTP 就是网络新闻传输协议.
Tags: javamail
如今随着软件项目规模的日益增大以及项目复杂性的不断加剧,软件配置管理(SCM)的重要性已越来越受到大家的认可。许多优秀的软件配置管理工具也应运而生,使得我们能够轻松有效地管理我们的软件项目。作为这其中的一员,Microsoft Visual SourceSafe具有简单易用、方便高效、与Windows操作系统及微软开发工具高度集成等优点。今天,我们就来讲讲VSS中的权限管理。
首先我将讲解VSS中权限机制实现的原理,这里面涉及到VSS的默认安全访问机制、项目安全等内容,接着我将告诉实现权限机制的具体方法,最后我将结合一个软件移交项目的具体情况来谈谈权限管理如何应用到实际的项目过程中。
一、VSS默认的安全访问控制
每次你安装VSS以后,系统自动激活默认的安全访问控制机制。这套机制非常简单,它包括两个等级的权限:
1. 只读权限:用户可以查看VSS数据库中的所有对象,但是不能够修改;
2. 读写权限:用户可以查看和修改VSS数据库中的任何对象。
每次你增加新用户的时候,你可以决定该用户的权限等级。在“Add User”对话框中包含一个“Read Only”复选框,你可以通过它来确定用户具有的权限。
我们前面说过这只是个极其简单、粗线条的解决方案,但同时也是最简单的。在实际过程中,你可能需要更细化的权限分配,甚至希望每个文件针对不同的用户都能设置不同的权限。那我们就得亲自动手设置我们项目的安全机制。
首先我将讲解VSS中权限机制实现的原理,这里面涉及到VSS的默认安全访问机制、项目安全等内容,接着我将告诉实现权限机制的具体方法,最后我将结合一个软件移交项目的具体情况来谈谈权限管理如何应用到实际的项目过程中。
一、VSS默认的安全访问控制
每次你安装VSS以后,系统自动激活默认的安全访问控制机制。这套机制非常简单,它包括两个等级的权限:
1. 只读权限:用户可以查看VSS数据库中的所有对象,但是不能够修改;
2. 读写权限:用户可以查看和修改VSS数据库中的任何对象。
每次你增加新用户的时候,你可以决定该用户的权限等级。在“Add User”对话框中包含一个“Read Only”复选框,你可以通过它来确定用户具有的权限。
我们前面说过这只是个极其简单、粗线条的解决方案,但同时也是最简单的。在实际过程中,你可能需要更细化的权限分配,甚至希望每个文件针对不同的用户都能设置不同的权限。那我们就得亲自动手设置我们项目的安全机制。
程序代码
