【发布时间】:2016-11-20 00:11:56
【问题描述】:
我遇到了与Bluemix remote debugging session not starting 相同的问题 尝试从 Eclipse 中调试 Bluemix Tomcat 服务器上的 Web 应用程序时,请按照以下步骤操作。
- 全新安装的 eclipse-jee-neon-R-win32-x86_64 和所有 所需的 Eclipse 插件(例如,用于 Neon 的 Bluemix 的 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 上正常工作。
但是当我尝试“启用应用程序调试”时,我又遇到了同样的问题...... 你能帮帮忙吗?
【问题讨论】:
标签: java eclipse debugging tomcat ibm-cloud