我有一个可以在tomcat中部署的Web应用程序,但是相同的应用程序没有在websphere 8.5.5中启动。我检查了SystemErr.log文件,它提供了以下信息,我无法调试为什么应用程序没有启动。如果我想更多地了解问题,我需要做什么。
应用服务器版本: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>
您收到的错误表示上下文/*
已被其他应用程序使用。 Web应用程序的上下文必须是唯一的。
您发布的web.xml没有context-root
标记,因此看起来WebSphere假设/*
。您可以执行以下操作之一来更正:
最后我可以解决这个问题。
我的应用程序使用谷歌番石榴库和库的版本是15.0
。我发现guava库(版本:15.0)与jee6(more information)不兼容。所以我将版本从15.0更改为14.0.1然后正确部署了应用程序。
我不明白的是,我怎么能理解以下错误信息出了什么问题???难道你不认为弄清楚它有点困难。
引起:com.ibm.ws.webcontainer.exception.WebAppNotLoadedException:无法加载webapp
我相信这是有用的信息。
我得到了同样的错误,所以我做的是登录管理控制台然后转到应用程序,然后转到Websphere企业应用程序(在这里你可以找到所有部署的应用程序列表)。只需取消部署默认应用程序(在安装Web范围时部署此应用程序)。一旦取消部署,它将起作用。
转到IBM Console-> Application-> Application Types-> Websphere Enterprise Application。
删除除您的应用程序之外的所有应用程序。
Websphere会自动创建一些示例应用程序,在该应用程序中,有些指向“./”
我的问题就这样解决了。