我下载了Apache James邮件服务器Apache-james-3.0-beta4-app。我试图通过点击以下目录
中的run.bat文件在Windows 7终极版上运行它C:\Users\Jack\Desktop\New folder\Servers\MailServer\apache-james-3.0-beta4-app\apache-james-3.0-beta4\bin.
命令提示符启动了一段时间后它就消失了。我无法在命令提示符下读取错误,因为它太快了。 任何建议将不胜感激。当我在命令提示符下运行telnet命令时,它显示该命令无法识别。我不知道如何在Windows中打开它。
答案 0 :(得分:3)
启动服务器
启动Apache James的最佳方法是在终端中。
从apache-james \ bin文件夹中输入:
james.bat
您将看到以下说明:
用法:james.bat {console:start:pause:resume:stop:restart: 安装:删除}
输入:
james.bat install
接着是
james.bat start
服务器应该从这一点开始。如果它没有启动,您可以在\ log \ wrapper.log中看到任何错误,在\ log \ james-server.log中看到服务器状态。
修复JAXB问题
如果您运行的是Java 7或更高版本,由于当前版本的Apache James(版本3.2)中的jaxb问题很可能导致服务器无法启动,这将阻止服务器启动。
要解决此问题,请下载以下文件
并将这些文件包含在文件夹
中 /conf/lib
有关此点的详细信息,请参阅How to resolve java.lang.NoClassDefFoundError: javax/xml/bind/JAXBException in Java 9
按照这些步骤,詹姆斯应该开始。不需要修改wrapper.conf。
答案 1 :(得分:2)
要在Windows 7上启用telnet,请依次单击开始按钮,单击控制面板,单击程序,然后单击转动Windows功能开启或关闭。需要管理员权限如果系统提示您输入管理员密码或进行确认,请键入密码或提供确认。在 Windows功能对话框中,选中 Telnet客户端复选框。单击“确定”。
Apache James需要Java Runtime Environment(JRE)1.5或更高版本。此外,在运行James之前,应将环境变量JAVA_HOME设置为JRE主目录。
如果你运行JDK7,由于JAXB中的错误,James将无法启动。作为临时解决方法,您可以从http://jaxb.java.net/2.1.13/JAXB2_20100510.jar下载最新的2.1版JAXB,并将提取的jaxb-impl.jar
复制到conf/lib
。
<强>更新强>
实际上还有一个解决方法。从here获取最新版本的James(3.0-beta5),它不会受到这个恼人的JAXB错误的影响。
答案 2 :(得分:0)
在安装apache-james-3.0-beta4期间,我遇到了与上面提到的相同的JAXB问题。即使将版本2.1的jaxb-impl.jar
复制到apache-james-3.0-beta4/conf/lib
也无济于事,因为它从未在类路径中被拾取。在apache-james-3.0-beta4/conf/wrapper.conf
文件中进行以下更改后,我能够成功运行Apache James:
指向正确的Java命令:
wrapper.java.command=/usr/java/jdk1.7.0_67/bin/java
为classpath添加一个新条目,jaxb-impl-2.1.jar
的编号增加:
wrapper.java.classpath.120=../conf/lib/jaxb-impl-2.1.jar
如果在上述更改后问题仍然存在,请提供日志输出。