Myeclipse中maven工程使用jetty插件启动jetty服务器调试 Bertha 。 2022-08-09 16:50 201阅读 0赞 准备工作: a. 在pom.xml中配置jetty插件: Xml代码 ![收藏代码][icon_star.png] 1. <plugins> 2. <plugin> 3. <groupId>org.mortbay.jetty</groupId> 4. <artifactId>maven-jetty-plugin</artifactId> 5. <version>6.1.26</version> 6. <configuration> 7. <webAppSourceDirectory>src/main/webapp</webAppSourceDirectory> 8. <scanIntervalSeconds>6</scanIntervalSeconds> 9. <contextPath>/prospect</contextPath> 10. <webDefaultXml>jetty.xml</webDefaultXml> 11. <jettyEnvXml>jetty-env.xml</jettyEnvXml> 12. <connectors> 13. <connector implementation="org.mortbay.jetty.nio.SelectChannelConnector"> 14. <port>8080</port> 15. <headerBufferSize>80000</headerBufferSize> 16. </connector> 17. </connectors> 18. <stopKey>stop</stopKey> 19. <stopPort>8089</stopPort> 20. </configuration> 21. </plugin> 22. </plugins> b. 使用maven的clean install命令将web及依赖工程打包成war文件。 方式1 - Eclipse调试: ①. 右键maven工程,在弹出的菜单中选择\[Debug As\],首次选择\[Maven build...\],以后选择\[Maven build\]来读取保存的配置启动: ![点击查看原始大小图片][5e9ef6c7-9def-3986-b0fa-3a6c6c9ab118.png] ②. 在浏览器输入地址http://localhost:8080/prospect/already/mosaic.htm,在代码上加断点,命中后IDE提示:Source not found: ![08f4208e-2717-332a-8491-ebf6697547ec.png][] 解决: 点击\[Edit Source Lookup Path...\]添加源代码工程或目录 完成后即可调试代码: ![点击查看原始大小图片][feecb08c-8aa4-34a4-a10f-4832c20181d4.png] 方式2 - 远程调试: ①. 选择Eclipse的\[Run\]-\[External Tools\]-\[External Tools Configurations...\]菜单。 在打开的对话框中,新建一个Program,输入mvn.bat (mvnDebug.bat)的完整路径,指定要启动的web工程,在Arguments框输入jetty:run ![84416c41-025f-39e2-912e-597418a8292f.png][] 使用mvn.bat时,需要添加调试参数: 切换到Environment选项,添加一个变量: MAVEN\_OPTS=-Xdebug -Xrunjdwp:transport=dt\_socket,server=y,suspend=n,address=1066 注: address是和调试器通信的端口,不是服务的端口号。 ![点击查看原始大小图片][ee62b6b1-3010-3be7-b2ad-465b3843819f.png] 其它参数: \-Xnoagent: 禁用默认sun.tools.debug调试器 \-Djava.compiler=NONE: 禁止JIT编译器的加载 dt\_shmem: 共享内存传输,仅限于Windows 点击\[Run\]启动jetty服务器 选择Eclipse的\[Run\]-\[Debug Configurations...\]菜单,在弹出的对话框中,新建一个Remote Java Application,指定和External Tools里面相同的工程和连接属性: ![点击查看原始大小图片][a2b84446-a6e1-358f-839c-c202cc3a6352.png] 点击\[Debug\]启动调试客户端 ![dab8dde6-99a6-31d6-ae32-437a2184df48.png][] ②. 同方式1的② 附: i. 远程调试的jvm可以独立于Eclipse运行: ![debe5c7f-d219-3fcc-9245-0a1f0825b813.png][] 这时Eclipse里只有调试客户端: ![5df0c750-60ac-3ab0-a744-7d096f71743b.png][] ii. 如果suspend=y,运行JVM而没有开启调试客户端,JVM会等待直到客户端就绪: ![点击查看原始大小图片][eb5e53a6-2933-3893-b734-91f9cf744b7e.png] [icon_star.png]: /images/20220731/a80d3014ba1e404cb63d64ac71c6a3b6.png [5e9ef6c7-9def-3986-b0fa-3a6c6c9ab118.png]: /images/20220731/83b40d002aa049baa01f33c2f0e2ae3b.png [08f4208e-2717-332a-8491-ebf6697547ec.png]: /images/20220731/095fa57c53fd42e186f199c2c369f98c.png [feecb08c-8aa4-34a4-a10f-4832c20181d4.png]: /images/20220731/73cc8d5fe05b4f43ba92c1dcf46ab624.png [84416c41-025f-39e2-912e-597418a8292f.png]: /images/20220731/60b9f80a6b134b0e868dd8fb2ddd2698.png [ee62b6b1-3010-3be7-b2ad-465b3843819f.png]: /images/20220731/f57e20d669ca443785349e110f08ee2e.png [a2b84446-a6e1-358f-839c-c202cc3a6352.png]: /images/20220731/c227b43b68354a8891598586e0323027.png [dab8dde6-99a6-31d6-ae32-437a2184df48.png]: /images/20220731/1d9c57f601004f1eac91bc14ad490f3e.png [debe5c7f-d219-3fcc-9245-0a1f0825b813.png]: /images/20220731/5b801a63d0bf45bfaca7190a066f7366.png [5df0c750-60ac-3ab0-a744-7d096f71743b.png]: /images/20220731/ae60a2c374464bd08048bc1b3879af0a.png [eb5e53a6-2933-3893-b734-91f9cf744b7e.png]: /images/20220731/7e0250d471fe4794bd42507d1d4f5034.png
还没有评论,来说两句吧...