使用mvnDebug命令在maven中进行调试
我读到这个: 在Maven中调试?
我正在运行intellij远程调试和maven我正在尝试调试的服务。
我在跑
mvnDebug tomcat7:run
这给了我以下结果
Preparing to Execute Maven in Debug Mode Listening for transport dt_socket at address: 8000 ^Ctai-m:sb-api-internal-server tai$ m
我的问题是我想轻松改变端口。 我知道我可以进入pom.xml文件并更改它,或者我可以执行以下操作:
mvnDebug.bat
@REM set MAVEN_OPTS=-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
但我希望能够在命令行上指定我的端口。 有没有办法做到这一点? 我希望能够在一次运行的不同地址上调试多个服务,并且我认为必须为每个地址设置和重置调试文件设置是一件麻烦事。
一位朋友说这应该是可能的,但我似乎无法找到解决方案。
基本上我正在寻找一种方法来轻松切换服务正在运行的端口,而无需在启动多个服务时多次修改文件。 否则你能解决另一种解决方案吗? Ex让第一个调试实例在一个端口上运行,然后将第二个调试实例放在另一个端口上(硬编码)?
谢谢
哇,Maven让这很困难。 在MAVEN_OPTS
设置-Xrunjdwp
将不起作用,因为mvnDebug.bat
之后会添加它自己的,它将覆盖MAVEN_OPTS
。 我会将mvnDebug.bat
复制到myMvnDebug.bat
并注释掉行set MAVEN_DEBUG_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
。 这样,您可以在运行之前在命令行上设置MAVEN_DEBUG_OPT
。
C:\somewhere>set MAVEN_DEBUG_OPT=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8001 C:\somewhere>myMvnDebug.bat
我更改了@set MAVEN_DEBUG_OPTS = -Xdebug -Xrunjdwp:transport = dt_socket,server = y,suspend = y,address = 8000
至
@set MAVEN_DEBUG_OPTS = -Xdebug -Xrunjdwp:transport = dt_socket,server = y,suspend = y,address =%MAVEN_DEBUG_PORT%
在mvnDebug.cmd中,然后在调用mvnDebug xxx之前在env变量中设置MAVEN_DEBUG_PORT或在本地设置@set MAVEN_DEBUG_OPTS = 8001:run(我正在使用Jetty)
- oracle.jdbc.driver.T4CTTIrxd.readBitVector上的java.lang.ArrayIndexOutOfBoundsException(T4CTTIrxd.java:135)
- 为什么op-assign运算符在java中不安全?
- 显示在intellij中的弹出窗口方法实现中
- 如何使用Java EE 7和Glassfish 4在IntelliJ IDEA Community Edition中创建Java Servlet应用程序?
- 在intellij中使用JDBC / Mysql Connector
- 在IntelliJ IDEA中为Tomcat设置了哪些应用程序上下文?
- 如何在IntelliJ IDEA中指定哪个@Tag应该用于JUnit
- 错误:缺少JavaFX运行时组件,并且需要使用JDK 11运行此应用程序
- Intellij IDEA checkstyle
- 从32位程序文件夹编译为64位时,更改IntelliJ 13中的jdk路径
- 如何在IntelliJ IDEA中自动完成lambdas?