【问题标题】:mvnDebug tomcat7:run don't suspendmvnDebug tomcat7:运行不要挂起
【发布时间】:2020-03-03 04:45:15
【问题描述】:

我有一个项目,由

在本地运行
mvnDebug tomcat7:run

现在,我知道 mvnDebug 相当于

MAVEN_DEBUG_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000

在这里,suspend=y,我想要suspend=n。基本上,使用 suspend=y ,我必须在进程停止时启动远程调试器。我不想要那个。因此,suspend=n

所以,我跑了

mvn tomcat7:run -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8000

但我收到此错误:

[错误] 在当前项目中找不到前缀“runjdwp”的插件 并在插件组 [org.apache.maven.plugins, org.codehaus.mojo] 可从存储库中获得...

即使我使用 suspend=y 运行上述命令,仍然是同样的错误。

我该怎么办? 我正在运行 Java 8

【问题讨论】:

    标签: java spring maven spring-mvc tomcat


    【解决方案1】:

    只需使用 -Dexec.args 将参数传递给 java 而不是 maven 本身。 这应该工作

    mvn tomcat7:run -Dexec.args="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8000"
    

    【讨论】:

    • 不。那没有用。 Error running '${Project_name}': Unable to open debugger port (localhost:8000): java.net.ConnectException "Connection refused (Connection refused)"
    • 所以它确实起作用了——参数被正确应用了。我记得如果端口已经被占用,你应该会看到不同的错误。可能是防火墙之类的东西或传输规则阻止它。
    • 正如我在问题中提到的,如果我运行mvnDebug tomcat7:run,那效果很好。因此,如果防火墙或传输规则之类的东西阻止它,即使上面也不会运行。
    • 抱歉,最初我在 -Dexec.args 之后错过了等号。
    猜你喜欢
    • 2016-12-29
    • 2015-02-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-12
    • 1970-01-01
    相关资源
    最近更新 更多