1

我正在将 james 作为窗口服务运行。我已将我的 mailet 放在 config.file 中,该文件进一步调用了我的应用程序特定库。现在我想在收到邮件后调试我的应用程序中的一些类。我不知道如何在调试模式下启动 james 窗口服务,以便我可以从我的 eclipse 连接到同一个端口并开始调试。

另一件事是当我将它作为窗口服务启动时,james 服务器工作正常,但是一旦使用 James.bat 文件启动它,它就会给出一些与我的应用程序相关的错误。所以看起来 James.bat 中的詹姆斯已经出局了。请提供您的意见,我如何在调试模式下启动 james 服务。詹姆斯版本是 2.3.2

4

2 回答 2

3

James 不支持在调试模式下启动,所以你必须自己在调试模式下启动它。对于 James 3 (beta),这很容易,我假设您也可以将此解决方案用于 2.3.2 版本。

  1. 首先在目录中创建rundebug.bat文件,内容如下:JAMES\bin

    设置 JAVA_OPTS=-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8000

    运行.bat

  2. 从命令行运行它。James 服务器现在已准备好进行远程调试。

  3. 在 Eclipse 中,使用默认配置在 Debug Configurations 对话框中创建一个新的“Remote Java Application”。在“项目”字段中选择包含您要调试的邮件的项目。

  4. 放置断点并运行配置。

祝你好运!

于 2012-08-12T10:09:47.967 回答
2

您应该取消注释 JAMES_HOME/bin/run.bat 中的以下行以启用远程调试

rem set DEBUG=-Xdebug -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=y

set DEBUG=-Xdebug -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=y
于 2013-03-19T10:39:12.403 回答