1.部署tomcat
2.下载jwebmail源码(jwebmail-1.0.1rc1-src.zip)及jwebmail.war(在jwebmail-1.0.1rc1.zip中)
3.首先把jwebmail.war放在tomcat安装目录下的webapps里,然后在myeclipse中启动刚才部署的tomcat,不是myeclipse tomcat,这是会自动的解压jwebmail.war,会在webapps中看到jwebmail文件夹(里面的东西会有用的)
这时候启动后会报错,这是因为在tomcat安装目录下的webapps里jwebmail\WEB-INF\lib下缺少了文件,通常都是一个mail.jar文件.
4.创建一个新的web项目,这里我的web项目名也叫jwebmail,找到创建web项目所在的目录,删除index.jsp(因为没用)
5.
a,把jwebmail源代码中的build.xml build-dist.xml COPYING ivy.xml ivysetting-sample.xml README.txt六个文件拷到创建的jwebmail目录下
b,把jwebmail源代码中的所有文件夹也拷贝到jwebmail目录下,这时候创建的jwebmail和下载下来的jwebmail的文件就差不多了
c,把在jwebmail.war解压的META-INF文件夹拷贝到创建的jwebmail的webRoot中,覆盖掉原来的文件夹
d,把在jwebmail.war解压的WEB-INF文件夹下的lib文件夹和web.xml拷贝到创建的jwebmail的webRoot中的WEB-INF中,覆盖掉原来的,而classes文件夹不做处理
e,下载一个mail.jar文件拷贝到创建的jwebmail的webRoot中的WEB-INF中的lib文件夹中
f,把tomcat目录下的jwebmail.war和jwebmail移动到其他地方
6.回到myeclipse中,把项目刷新几遍,然后可以看到项目有错误,如果仔细看的话,我们可以看出错的地方基本都是xml文件和dtd文件(不用管)
7.把项目部署到部署到Tomcat中,运行可以看到很多错误
a,其中有一个是Failed to load WebMail configuration file
这里我们可以作这样的处理,在myeclipse中按快捷键CTRL+H,在整个项目中搜索file://,把file://改为file:///
b,还有就是Failed to register Auth. plugin 'net.wastl.webmail.authenticators.UnixAuthenticator'这类的,提示我们在net.wastl.webmail下没有authenticators
在src\net\wastl\webmail下,我们需要添加文件夹authenticators,文件夹在authenticator-src\net\wastl\webmail有,
同样在src\org\webengruven\webmail下需要做差不多的处理,不过这时的文件夹在authenticator-src\org\webengruven\webmail中
刷新项目重新启动tomcat,看这时还有错误
Presence of lock file indicates the instance is already running
这是因为在C:\Documents and Settings\Administrator\jwebmail中有一个lock.txt文件,只要把它删除就可以了
重新启动tomcat,发现错误no protocol: %DTDDIR%/sysdata.dtd
这个时候应该是缺少包的问题,需要的包:
在完成之后,再次启动TOMCAT,这时候可能会报一个这样的错误: net.wastl.webmail.plugins下的文件
这时候就需要把源码中的plugins根据路径拷到src下面去
在这些都弄好之后,jwebmail就应该可以启动起来了
打开登录界面时会报错javax.servlet.ServletException: net.wastl.webmail.exceptions.WebMailException: IOException thrown. Reason: \genericmodel.dtd (系统找不到指定的文件。)
net.wastl.webmail.server.WebMailServlet.service(WebMailServlet.java:447)
net.wastl.webmail.config.ContextPathValidator.doFilter(ContextPathValidator.java:68)
答案:jwebmail中使的xml文件都是需要dtd文件验证的,它们在对dtd引用时都使用了相对路径,而在代码中进行引用时就无法找到,因此需要更改webapps/jwebmail/lib/xml中的xml文件和dtd文件,将其中对dtd文件的引用路径全部改为绝对路径,不要遗漏。
严重: Servlet.service() for servlet WebMail threw exception
javax.servlet.ServletException: net.wastl.webmail.exceptions.StylesheetNotFoundException: The requested stylesheet loginscreen.xsl could not be found (path tried: D:\apache-tomcat-6.0.20\webapps\jwebmail\lib\templates\en\bibop\.
答案:在tomcat中webapps中看到jwebmail文件夹能找到缺少的文件,拷到相应位置
客户端登录界面:http://localhost:8080/jwebmail/WebMail
管理界面:http://localhost:8080/jwebmail/admin
密码是:Secret
参考以下网址:
http://blog.sina.com.cn/s/blog_7d491cfb0100ujjp.html
http://z60014840.blog.163.com/blog/static/363728892009827938412/