java - IntelliJ JBoss 插件 - 如何在调试模式下启动
问题描述
我有一个在 IntelliJ 中运行的 JBoss 插件。它运行良好,但是当我尝试在 DEBUG 模式下启动它时,出现以下错误:
运行配置停止前未连接应用程序服务器,原因:无法在 localhost:8080 ping 服务器
我在以下位置运行我的应用程序:
所以我想我需要将检测到的服务器 https 端口更改为8443
. 还是我需要以某种方式连接调试?
日志:
Detected server admin port: 9999 Detected server http port: 8080
/Users/richardmarais/Development/ClubTravel/jboss-as-7.0.2.Final/bin/standalone.sh
=========================================================================
JBoss Bootstrap Environment
JBOSS_HOME: /Users/richardmarais/Development/ClubTravel/jboss-as-7.0.2.Final
JAVA: /Library/Java/JavaVirtualMachines/jdk1.7.0_80.jdk/Contents/Home/bin/java
JAVA_OPTS:
-agentlib:jdwp=transport=dt_socket,address=127.0.0.1:50204,suspend=y,server=n
-javaagent:/Users/richardmarais/Library/Caches/JetBrains/IntelliJIdea2020.1/captureAgent/debugger-agent.jar
-Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=n
=========================================================================
Error occurred during initialization of VM agent library failed to init: jdwp /Library/Java/JavaVirtualMachines/jdk1.7.0_80.jdk/Contents/Home/bin/java
-Dfile.encoding=UTF-8 -classpath "/Applications/IntelliJ IDEA.app/Contents/lib/idea_rt.jar" com.intellij.rt.execution.CommandLineWrapper /private/var/folders/47/11vw2x9x65z6pyvfrl3d9w1c0000gn/T/idea_classpath1206838148 com.intellij.javaee.oss.process.JavaeeProcess 56071 com.intellij.javaee.oss.jboss.agent.JBoss7Agent Disconnected from server Picked up JAVA_TOOL_OPTIONS: -Dhttps.protocols=TLSv1.2
-Xmx4096m -Xms128m objc[77083]: Class JavaLaunchHelper is implemented in both /Library/Java/JavaVirtualMachines/jdk1.7.0_80.jdk/Contents/Home/bin/java (0x10b0144c0) and /Library/Java/JavaVirtualMachines/jdk1.7.0_80.jdk/Contents/Home/jre/lib/libinstrument.dylib (0x10b0fb4e0). One of the two will be used. Which one is undefined. ERROR: Cannot load this JVM TI agent twice, check your java command line for duplicate jdwp options. Picked up JAVA_TOOL_OPTIONS:
-Dhttps.protocols=TLSv1.2 -Xmx4096m -Xms128m [2020-04-15 08:32:44,998] Artifact corporateInterface:war exploded: Waiting for server connection to start artifact deployment... Detected server admin port: 9999 Detected server http port: 8080
解决方案
看起来您JAVA_OPTS
在环境或服务器启动脚本中的某个位置附加了调试器,因此调试器被初始化了两次,但都失败了。仅应使用 IntelliJ IDEA 提供的选项,此选项不应出现在选项中:
-Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=n
请注意,在运行/调试配置中,IntelliJ IDEA 提供了这个:
-agentlib:jdwp=transport=dt_socket,address=127.0.0.1:50204,suspend=y,server=n
检查.sh
您的 JBoss 的启动脚本,它们可能被定制为添加导致问题的旧调试选项。_JAVA_OPTIONS
此外,使用and之类的全局环境变量也是一个坏主意JAVA_TOOL_OPTIONS
,我会取消设置它们。
推荐阅读
- intershop - 带参数的管道不会调用
- vue.js - 如何在 Cypress 中创建基于角色的测试?
- postgresql - 使用继承进行元数据迁移是否安全?
- android - Okhttp4,无法访问“正文”:它在“响应”中是包私有的
- javascript - 为什么第二个 then in promise 更早起作用?
- c# - “Max Product of 3”问题的代码性能
- python - 无法使用 pip 卸载 python 包(Linux)
- c++ - 是否可以检查变量是否位于 L1/L2/L3 缓存中
- javascript - 无法移动口罩?无法获取掩码元素的 bbox
- postgresql - wal-g backup-push 尝试使用错误的数据库