Vaadin プロジェクトにレスポンシブ アドオンを使用しています。ウィジェットに準拠し、Eclipse でプロジェクトを実行できます。私が使用しているバージョンは Vaadin 7.1.9 と Eclipse Juno です。
次に、war ファイルにエクスポートして Jetty 8 と Jetty 9 にデプロイしようとすると、それぞれ次のエラーが発生します。
Jetty 8 では、元に戻ります。jetty を起動できますが、ブラウザーからアクセスしようとすると、次のように戻ります。
Widgetset does not contain implementation for com.vaadin.addon.responsive.Responsive.
Check its component connector's @Connect mapping, widgetsets GWT module description file and re-compile your widgetset.
In case you have downloaded a vaadin add-on package, you might want to refer to add-on instructions.
Jetty 9 では、次のように戻ってきます。
java.lang.IllegalStateException: Multiple servlets map to path: /*
at org.eclipse.jetty.servlet.ServletHandler.updateMappings(ServletHandle
r.java:1383)
at org.eclipse.jetty.servlet.ServletHandler.setServletMappings(ServletHa
ndler.java:1480)
at org.eclipse.jetty.servlet.ServletHandler.addServletMapping(ServletHan
dler.java:916)
at org.eclipse.jetty.annotations.WebServletAnnotation.apply(WebServletAn
注: Jetty 8 と Jetty 9 の両方で正常に実行された別の war ファイルがあります。また、私のプロジェクトはそのウィジェットセットがなくても動作します。
Jetty 8 で、ウィジェットを再コンパイルしようとしましたが、同じエラーが返されました。
ここに私の web.xml ファイルがあります:
<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<display-name>Demo</display-name>
<context-param>
<description>Vaadin production mode</description>
<param-name>productionMode</param-name>
<param-value>false</param-value>
</context-param>
<servlet>
<servlet-name>Myrmnui Application</servlet-name>
<servlet-class>com.demo.main.DemoResponsiveAppServlet</servlet-class>
<init-param>
<description>Vaadin UI class</description>
<param-name>UI</param-name>
<param-value>com.demo.main.MainUI</param-value>
</init-param>
<init-param>
<description>
Application widgetset</description>
<param-name>widgetset</param-name>
<param-value>com.demo.main.widgetset.DemoWidgetset</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>Application</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>Application</servlet-name>
<url-pattern>/VAADIN/*</url-pattern>
</servlet-mapping>
</web-app>
war ファイルをビルドしてウィジェットと一緒にデプロイする方法を教えてください。eclipse を使用して war ファイルにエクスポートしました。ウィジェット ファイルが存在することを確認するために、war ファイルを解凍すると、それらが存在します。これらのファイルのファイル サイズはゼロではありません。
前もって感謝します。