当前位置: 首页 > 知识库问答 >
问题:

Websphere Liberty+Vaadin+IntelliJ中新web应用程序的UnableToAdaptException

庄嘉
2023-03-14

更新:为了测试Vaadin7教程,我必须检查另一个应用服务器(Tomcat8)来启动并运行它。根据用户的提示,我尝试改用web App3.0,这似乎打破了Vaadin7的引用。

更新2:当使用IDEA生成代码库时,选择Web Applicatin版本的选项只包含3.1版本供我安装。我仍然对新的想法和什么设置修补得到修复3.0及以下,但使用GAS的响应时,新的schemaLocation修复了这个问题。

我刚安装了:

    null
Connected to server
[AUDIT   ] CWWKG0016I: Starting server configuration update.
[AUDIT   ] CWWKG0017I: The server configuration was successfully updated in 0,026 seconds.
[ERROR   ] CWWKZ0106E: Could not start web application VaadinDemo_war_exploded.
[ERROR   ] CWWKZ0002E: An exception occurred while starting the application VaadinDemo_war_exploded. The exception message was: com.ibm.wsspi.adaptable.module.UnableToAdaptException: com.ibm.ws.javaee.ddmodel.DDParser$ParseException: CWWKC2262E: The version 3.1 does not match the namespace http://xmlns.jcp.org/xml/ns/javaee in the /WEB-INF/web.xml deployment descriptor.
[AUDIT   ] CWWKF0011I: The server liberty-oscar is ready to run a smarter planet.
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
         version="3.1">
    <servlet>
        <servlet-name>VaadinApplicationServlet</servlet-name>
        <servlet-class>com.vaadin.server.VaadinServlet</servlet-class>
        <init-param>
            <param-name>UI</param-name>
            <param-value>com.MyVaadinApplication</param-value>
        </init-param>
    </servlet>
    <servlet-mapping>
        <servlet-name>VaadinApplicationServlet</servlet-name>
        <url-pattern>/*</url-pattern>
    </servlet-mapping>
</web-app>

因为这些都是新安装的,我是否遗漏了什么,或者我应该配置其他的东西?对于我列出的安装,所有设置都是“默认的”。

共有1个答案

甘骞尧
2023-03-14

WebSphere Liberty8.5.5.3还不支持Servlet3.1。尝试将部署描述符更改为:

<web-app 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_3_0.xsd" version="3.0">

更新

这个servlet标记在Liberty中工作得很好。所以你的设置有问题。

<servlet>
    <description>
        This is the description for the sample servlet
    </description>
    <display-name>Test</display-name>
    <servlet-name>Test</servlet-name>
    <servlet-class>servlet.Test</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>Test</servlet-name>
    <url-pattern>/Test</url-pattern>
</servlet-mapping>
 类似资料:
  • 我想调试一个Vaadin8应用程序,当我启动Gradle-Task“Vaadinrun”时,控制台会告诉我调试端口: 运行在http://localhost:8080上的应用程序(调试器在8000上) 有效的方法是将远程调试会话附加到端口8000,但奇怪的是,一定有更简单的方法。问题是怎么做? 智能点子:2017.2.5 分级:4.2.1 Gradle-Vaadin支持:com.devsoap.p

  • 我在Ubuntu 12.04 LTS上有IntelliJideA14.1.2(社区版),我正在尝试从头开始创建一个web应用程序项目,我选择了遵循本指南https://www.jetbrains.com/idea/help/enabling-web-application-support.html#new

  • 我正在使用IntelliJ IDEA15和tomcat开发一个AngularJS和Spring Boot应用程序,每当我对静态内容进行更改时,我总是要重新启动应用程序才能看到这些更改。 我找了一个类似的问题,我发现了这个: 启用html和javascript文件的IntelliJ热交换

  • 我有IntelliJideA16.1.2(终极版本)。我正在尝试从头开始创建一个web应用程序项目,我选择了遵循本指南https://www.jetbrains.com/idea/help/enabling-web-application-support.html#new 但是我没有得到步骤3中提到的选择Java Enterprise的选项,“在附加库和框架下,选择Web应用程序复选框。从版本列表

  • 我有一个嵌入jetty服务器的Gradle Java项目。我想为同一个项目启用web应用程序支持。 Intellij IDEA帮助说明如何在下面的链接中为现有项目启用。https://www.jetbrains.com/help/idea/2016.1/enabling-web-application-support.html#d1788100e258 但是这个过程使用了Intellij IDEA

  • 我正在尝试为一个新的Java项目启用Web应用程序支持。我正在遵循以下支持页面中提到的步骤。 我是不是漏掉了什么?