使用m2eclipse开发Web应用程序的首选方法

时间:2009-10-08 08:34:00

标签: java eclipse maven-2 m2eclipse

在开发Maven Web应用程序时,我通常会使用jetty-maven-plugin快速启动我的应用程序进行本地测试和调试。使用m2eclipse启动的缺点是没有正确包含所有调试源,即使它们是由Maven下载的(参见Source lookup does not seem to work)。

在Eclipse中调试Maven Web应用程序的首选方法是什么?我特别感谢使用gwt-maven-plugin

的配置

2 个答案:

答案 0 :(得分:7)

使用m2eclipse开发Web应用程序的首选方法是......不使用它。相反,我使用Debugging with the Maven Jetty Plugin in Eclipse中描述的方法,我在下面引用:

  

第1步

     

转到运行/外部工具/外部   工具...“运行”菜单上的菜单项   酒吧。选择“程序”,然后单击   “新”按钮。在“主要”选项卡上,填写   在“位置:”作为完整的路径   你的“mvn”可执行文件。为了   “工作目录:”选择   与您的webapp匹配的工作空间。   对于“参数:”,添加jetty:run

     

移至“环境”标签页   单击“新建”按钮添加新的   变量名为MAVEN_OPTS的变量   值:

-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,address=4000,server=y,suspend=y
     

如果您提供suspend=n而不是。{   suspend=y你可以马上开始   没有运行调试器和   随时启动调试器   真的很想调试。

     

第2步

     

然后,拉出“运行/调试/调试”   ...“菜单项并选择”远程Java   应用程序“并单击”新建“   按钮。通过填写对话框   选择你的webapp项目   “项目:”字段,并确保您   使用与您相同的端口号   在address=属性中指定   上方。

     

现在你需要做的就是   运行/外部工具并选择名称   您创建的maven工具设置   步骤1启动插件然后   运行/调试并选择名称   您在步骤2中设置的调试设置。

     

来自提供的说明   关于Maven邮件的Rolf Strijdhorst   列表

     

停止码头

     

为了停止码头服务器   “允许终止远程VM”   应该在调试对话框中检查   第2步。当你有jetty服务器   运行,调试器连接到你   可以切换到调试透视图。   在调试视图中,右键单击   Java HotSpot(TM)客户端   VM [localhost:4000]并选择了   终止。这将停止调试器   和码头服务器。

答案 1 :(得分:3)

尽量避免编写需要某种容器进行调试的代码。始终编​​写可以独立运行的代码并将其包装在一个非常薄的层中进行部署(薄层 - >几行代码 - >几个错误)。

如果您真的必须,请尝试MockRunner模拟应用服务器。

除此之外,您可以在项目属性中手动添加源。