我有一个Java EE 5应用程序,它包含三个Web项目。我正在使用JBoss 5.1 Web服务器和NetBeans 7.2 IDE。
我有以下问题:
我无法在调试模式下启动应用程序。据我所知,NetBeans和Java中有两种(最好的)方法:通过共享内存进行远程调试和调试。我阅读了这篇文章How to debug JBOSS application in netbeans?并在Jboss配置中设置了调试参数(我也知道共享内存和远程调试有不同的参数集),但是当我去附加调试器时出现以下错误:
如果我使用远程调试,我收到错误“Connection refused”;
如果我使用共享内存,我收到的错误类似于此文本“dt_shmem:找不到文件路径”。
当我通过运行run.bat文件启动JBoss时会发生这些错误。如果我从Netbeans IDE启动JBoss,我可以附加到远程进程(仍然有共享内存方法的问题),但是我有其他问题,关于页面生命周期中的变量原语和模型绑定(我现在不会写这个) 。
如何解决这些问题以便我可以调试应用程序?至少,如何在失败时找到更好的错误消息。通过查找“连接拒绝”错误,我在网上找不到太多。
我希望有人能告诉我这一点:)
由于
于2013年1月3日增加了注释。
好吧,当我更改了web项目的project.properties文件中的VM选项时(添加了run.args.extra = -J-Xms256m -J-Xmx756m),我在执行代码时成功调试了应用程序和热断点。但是,我仍然有Managed Bean属性的奇怪问题。我在页面上有选择列表,它连接到布尔属性。如果没有选择任何内容,则默认情况下应将其设置为空值(当我通过运行run.bat文件启动JBoss服务器时),但默认情况下其值设置为false!我在firebug中检查了参数post值,并且将参数发布到bean没有问题。在我看来,问题是当JSF框架试图将post值映射到Managed Beans属性时,但我无法找出为什么会发生这种情况。我还检查了faces-config.xml,但没有找到任何特定的规则来映射到这个特定的属性。有什么提示吗?