应用程序不是从websphere 8.5.5开始,但在tomcat中工作正常

问题描述 投票:7回答:4

我有一个可以在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>
java websphere java-ee-6 guava websphere-8
4个回答
6
投票

您收到的错误表示上下文/*已被其他应用程序使用。 Web应用程序的上下文必须是唯一的。

您发布的web.xml没有context-root标记,因此看起来WebSphere假设/*。您可以执行以下操作之一来更正:

  1. 更新web.xml以包含context-root。您可能需要重新部署应用程序才能使其生效。
  2. 或者,在WebSphere中更改应用程序的上下文根。这可以通过登录到控制台管理员,导航到应用程序>企业应用程序> [应用程序名称]> Web模块的上下文根来完成。然后可以在此处指定上下文根。

5
投票

最后我可以解决这个问题。

我的应用程序使用谷歌番石榴库和库的版本是15.0。我发现guava库(版本:15.0)与jee6(more information)不兼容。所以我将版本从15.0更改为14.0.1然后正确部署了应用程序。

我不明白的是,我怎么能理解以下错误信息出了什么问题???难道你不认为弄清楚它有点困难。

引起:com.ibm.ws.webcontainer.exception.WebAppNotLoadedException:无法加载webapp

我相信这是有用的信息。


2
投票

我得到了同样的错误,所以我做的是登录管理控制台然后转到应用程序,然后转到Websphere企业应用程序(在这里你可以找到所有部署的应用程序列表)。只需取消部署默认应用程序(在安装Web范围时部署此应用程序)。一旦取消部署,它将起作用。


1
投票

转到IBM Console-> Application-> Application Types-> Websphere Enterprise Application。

删除除您的应用程序之外的所有应用程序。

Websphere会自动创建一些示例应用程序,在该应用程序中,有些指向“./”

我的问题就这样解决了。

© www.soinside.com 2019 - 2024. All rights reserved.