我正在运行james作为窗口服务。我已将我的mailet放在config.file中,这进一步调用了我的应用程序特定库。现在,我希望在收到邮件后调试应用程序中的某些类。我没有得到如何在调试模式下启动james窗口服务,以便我可以从我的eclipse连接到同一个端口并开始调试。
还有一件事是james服务器在我作为窗口服务启动时工作正常,但是一旦使用James.bat文件启动它就会产生一些与我的应用程序相关的错误。所以看起来像James.bat的詹姆斯出局了。请提供您在调试模式下如何启动james服务的输入。詹姆斯版本是2.3.2
答案 0 :(得分:3)
James不支持在调试模式下启动,因此您必须自己在调试模式下启动它。 对于James 3(测试版)来说,这很简单,我假设您也可以将此解决方案用于2.3.2版本。
首先在rundebug.bat
目录中创建JAMES\bin
文件,其中包含以下内容:
设置JAVA_OPTS = -agentlib:jdwp = transport = dt_socket,server = y,suspend = n,address = 8000
的run.bat
从命令行运行它。 James服务器现在可以进行远程调试了。
在Eclipse中,使用默认配置在“调试配置”对话框中创建一个新的“远程Java应用程序”。在“项目”字段中,选择包含要调试的mailets的项目。
放置断点并运行配置。
答案 1 :(得分: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