无法运行Apache James

时间:2013-10-06 18:10:23

标签: java javamail james

我下载了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中打开它。

3 个答案:

答案 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问题很可能导致服务器无法启动,这将阻止服务器启动。

要解决此问题,请下载以下文件

jaxb-api-2.1.jar

jaxb-core-2.1.14.jar

jaxb-impl-2.1.14.jar

并将这些文件包含在文件夹

/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:

  1. 指向正确的Java命令:
    wrapper.java.command=/usr/java/jdk1.7.0_67/bin/java

  2. 为classpath添加一个新条目,jaxb-impl-2.1.jar的编号增加:
    wrapper.java.classpath.120=../conf/lib/jaxb-impl-2.1.jar

  3. 如果在上述更改后问题仍然存在,请提供日志输出。