我遇到了与 Bluemix remote debugging session not starting 相同的问题 当尝试从 Eclipse 在 Bluemix Tomcat 服务器上调试我的 Web 应用程序时,请按照以下步骤操作。
- 全新安装的 eclipse-jee-neon-R-win32-x86_64 和所有 需要 Eclipse 插件(例如,Bluemix for Neon 的 Eclipse 工具)。
- 在 Bluemix 中创建了一个新的 Cloud Foundry 应用程序,选择 Tomcat 作为运行时,然后添加 Git 并构建和部署示例 Web 名为“TomcatHelloWorldApp”的应用程序。
- 克隆 从 Jazz Git 到我的 Eclipse 的“TomcatHelloWorldApp”Web 应用程序 存储库。
- 在 Eclipse 中创建新的 IBM Bluemix 服务器,添加 并推送“TomcatHelloWorldApp”网络应用程序。
- 右键检查 IBM Bluemix 服务器下的 Web 应用程序并选择“启用应用程序调试”。
但是,我收到以下错误。即使使用 Bluemix 创建的默认 Web 应用程序,它也不起作用:
[2016-07-17 14:15:54.854] bluemixMgmgClient - ???? [pool-1-thread-1] .... ERROR --- ClientProxyImpl: Cannot create the websocket connections for asmilk
com.ibm.ws.cloudoe.management.client.exception.ApplicationManagementException: javax.websocket.DeploymentException: The HTTP response from the server [500] did not permit the HTTP upgrade to WebSocket
at com.ibm.ws.cloudoe.management.client.impl.ClientProxyImpl.onNewClientSocket(ClientProxyImpl.java:161)
at com.ibm.ws.cloudoe.management.client.impl.ClientProxyImpl$RunServerTask.run(ClientProxyImpl.java:272)
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: javax.websocket.DeploymentException: The HTTP response from the server [500] did not permit the HTTP upgrade to WebSocket
at org.apache.tomcat.websocket.WsWebSocketContainer.connectToServer(WsWebSocketContainer.java:374)
at com.ibm.ws.cloudoe.management.client.impl.ClientProxyImpl.onNewClientSocket(ClientProxyImpl.java:158)
... 6 more
[2016-07-17 14:16:11.938] bluemixMgmgClient - ???? [pool-1-thread-1] .... ERROR --- ClientProxyImpl: Cannot create the websocket connections for asmilk
com.ibm.ws.cloudoe.management.client.exception.ApplicationManagementException: javax.websocket.DeploymentException: The HTTP response from the server [500] did not permit the HTTP upgrade to WebSocket
at com.ibm.ws.cloudoe.management.client.impl.ClientProxyImpl.onNewClientSocket(ClientProxyImpl.java:161)
at com.ibm.ws.cloudoe.management.client.impl.ClientProxyImpl$RunServerTask.run(ClientProxyImpl.java:272)
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: javax.websocket.DeploymentException: The HTTP response from the server [500] did not permit the HTTP upgrade to WebSocket
at org.apache.tomcat.websocket.WsWebSocketContainer.connectToServer(WsWebSocketContainer.java:374)
at com.ibm.ws.cloudoe.management.client.impl.ClientProxyImpl.onNewClientSocket(ClientProxyImpl.java:158)
... 6 more
然后我尝试修改代码并使其与 Java 1.8 一起正常工作 修改 Maven pom.xml 文件为
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.5.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
在 manifest.yml 文件中添加以下设置。
env:
JBP_CONFIG_IBMJDK: '[version: 1.8.+]'
JBP_CONFIG_LIBERTY: 'app_archive: {features: [websocket-1.1, servlet-3.1]}
同时修改Build Shell命令如下
#!/bin/bash
export JAVA_HOME=/opt/IBM/java8
mvn -B package
它构建和部署成功,现在可以与 Java 1.8 一起正常工作。
但是当我尝试“启用应用程序调试”时,我又遇到了同样的问题...... 你能在这方面提供任何帮助吗?
最佳答案
如果您使用 IBM JVM 作为工作台 JVM,Bluemix troubleshoot文档有解决此问题的更多详细信息。
关于java - 在 Eclipse 中使用 Tomcat 运行时调试的 Bluemix 失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38418884/