我有一个可以在tomcat中部署的Web应用程序,但是相同的应用程序没有在websphere 8.5.5中启动。我检查了SystemErr.log文件,它提供了以下信息,我无法调试为什么应用程序没有启动。如果我想更多地了解问题,我需要做什么。
Application Server版本:Websphere 8.5.5
Java版本:java 版本“1.7.0_25”
OpenJDK运行时环境 (RHEL-2.3.10.4.el6_4-x86_64的)
[12/30/13 12:43:01:144 CET] 000000ab SystemErr R Caused by: com.ibm.ws.webcontainer.exception.WebAppNotLoadedException: Failed to load webapp: Failed to load webapp: Context root /* is already bound. Cannot start application My Application
[12/30/13 12:43:01:149 CET] 000000ab SystemErr R at com.ibm.ws.webcontainer.WSWebContainer.addWebApp(WSWebContainer.java:759)
[12/30/13 12:43:01:149 CET] 000000ab SystemErr R at com.ibm.ws.webcontainer.WSWebContainer.addWebApplication(WSWebContainer.java:634)
[12/30/13 12:43:01:149 CET] 000000ab SystemErr R at com.ibm.ws.webcontainer.component.WebContainerImpl.install(WebContainerImpl.java:426)
[12/30/13 12:43:01:149 CET] 000000ab SystemErr R ... 93 more
[12/30/13 12:43:01:149 CET] 000000ab SystemErr R Caused by: com.ibm.ws.webcontainer.exception.WebAppNotLoadedException: Failed to load webapp: Context root /* is already bound. Cannot start application My Application
[12/30/13 12:43:01:150 CET] 000000ab SystemErr R at com.ibm.ws.webcontainer.VirtualHostImpl.addWebApplication(VirtualHostImpl.java:133)
[12/30/13 12:43:01:150 CET] 000000ab SystemErr R at com.ibm.ws.webcontainer.WSWebContainer.addWebApp(WSWebContainer.java:749)
[12/30/13 12:43:01:150 CET] 000000ab SystemErr R ... 95 more
这是web.xml文件
<?xml version="1.0" encoding="UTF-8"?><web-app metadata-complete="true" version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<display-name>My Application</display-name>
<servlet>
<display-name>MyApplication</display-name>
<servlet-name>app</servlet-name>
<servlet-class>com.seeta.vadali.MyReceiverServlet</servlet-class>
<init-param>
<param-name>uploadDir</param-name>
<param-value>/tmp</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>app</servlet-name>
<url-pattern>/any</url-pattern>
</servlet-mapping>
</web-app>
答案 0 :(得分:6)
您收到的错误表示上下文/*
已被其他应用程序使用。 Web应用程序的上下文必须是唯一的。
您发布的web.xml没有context-root
标记,因此看起来WebSphere假定/*
。您可以执行以下操作之一进行更正:
答案 1 :(得分:5)
最后我可以解决这个问题。
我的应用程序使用google guava库,库版本为15.0
。我发现guava库(版本:15.0)与jee6(more information)不兼容。所以我将版本从15.0更改为14.0.1然后正确部署了应用程序。
我不明白的是,我怎么能理解以下错误信息出了什么问题?难道你不认为弄清楚它有点困难。
引起:com.ibm.ws.webcontainer.exception.WebAppNotLoadedException:无法加载webapp
我相信这是有用的信息。
答案 2 :(得分:2)
我得到同样的错误,所以我做的是登录到管理控制台然后转到应用程序,然后转到Websphere企业应用程序(在这里你可以找到所有部署的应用程序列表)。 只需取消部署默认应用程序(在安装Web范围时部署此应用程序)。 一旦取消部署,它就会起作用。
答案 3 :(得分:1)
转到IBM Console-&gt; Application-&gt; Application Types-&gt; Websphere Enterprice Application。
删除您的应用程序以外的所有应用程序。
Websphere会自动创建一些示例应用程序,在该应用程序中,有些指向“./”
我的问题就这样解决了。