使用Maven如何debug和热部署
最近尝试将项目用Maven管理,Maven管理能力确实不错,但在开发时,却遇到了一些问题,望大家指点:
1、debug问题:
我是使用Maven的tomcat插件:tomcat-maven-plugin在eclipse里直接集成tomcat,使用eclipse中Debug模式的maven tomcat:run的方式启动tomcat,但是设置好断点后,可以debug到,但却关联不到源码,我也在Debug configuration里的source标签中关联了源码工程,但还是不行,不知该如何配置。
2、热部署问题:
使用maven能不能类似ant那样,自定义一个热部署的target,每当关联目录内容发生改变时,便将更新的文件拷贝到目标目录中;另外,我还特意测试了一下,使用maven install后,在target目录会生成一个应用文件夹,一个应用war包,我使用上述方式启动tomcat后,无论手工更新文件夹还是war中的jsp内容,刷新页面时都不生效。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(14)
支持一下,最近也是碰到这两个问题。不知楼主是否已经解决了?求共享哇。
多谢。
还有,要打上jreble
其实可以用jreble+maven+tomcat进行热部置的
1.在pom.xml中的 build 添加以下代码:
<plugins>
<plugin>
<groupId>org.zeroturnaround</groupId>
<artifactId>javarebel-maven-plugin</artifactId>
<version>1.0.5</version>
<executions>
<execution>
<id>generate-rebel-xml</id>
<phase>process-resources</phase>
<goals>
<goal>generate</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>tomcat-maven-plugin</artifactId>
<version>1.1</version>
<configuration>
<path>/gt</path>
<port>80</port>
<uriEncoding>UTF-8</uriEncoding>
</configuration>
</plugin>
</plugins>
2. Run As > Run Configurations > Maven Build > Main > Goals
中添加:tomcat:run
3. run
这样就可以热部置了,但是我用的jahia中的tomcat,用上面的方法行不通
没有,最近暂时撂开了,有结果告诉你。
哥们儿,最后你那个热部署问题解决了吗,怎么解决的??求教~~
那你直接配置tomcat的热部署就可以了!
如果需要我把代码给你贴上来~
回复
多谢,如果需要再贴不迟,我自己先试过再说。
我想我理解错了,如果我不使用maven插件的eclipse集成启动tomcat的功能,这一切就都好理解了,仍然使用wtp集成tomcat,那debug的事情就顺理成章了,使用
JavaNewPer
所说的部署方法,直接将应用部署到wtp server对应的tomcat上,而不是maven集成的tomcat上,也就不会出现http://127.0.0.1/manager不存在的问题了,但是热部署的问题还依然存在,我是想实现像ant脚本那样,在eclipse里改完jsp后,会自动更新到tomcat中,而不是在执行一遍maven war:exploded。
jrebel
可以详细说一下实现eclipse debug maven test的操作流程吗?
回答第一个问题 。
通过远程调试的方式实现eclipse debug maven
test,具体就是在执行test时带上debug参数,如上:
mvn-Dmaven.surefire.debug
test
然后到eclipse上配置远程java调试参数("Run" > "Open Debug Dialog..."选择新建remote java
application),执行debug即可。