2

これは技術的にプログラミングに関する質問ではありませんが、Maven プロジェクトから war ファイルをデプロイするときに発生するエラーに関する質問です。

war ファイルをビルドし、Tomcat7 を実行し、ブラウザーを開いた後に表示されるエラーは次のとおりです。

HTTP Status 404 - /vaadin-test/

type Status report

message /vaadin-test/

description The requested resource (/vaadin-test/) is not available.

私はWeb アプリ プラットフォームとしてVaadinを使用しています。テストのために実行しようとしている非常に単純なプロジェクトがあります。私はPOM ファイルでtomcat7-maven-pluginandを使用しています。maven-war-pluginwar プラグインの構成は次のようになります (フィルタリングは必要ないと思います)。

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-war-plugin</artifactId>
            <version>2.2</version>

            <configuration>
                <packagingExcludes>WEB-INF/web.xml</packagingExcludes>
                <warName>vaadin-test</warName>

                <webResources>
                    <resource>
                        <directory>src/main/webapp/</directory>
                        <filtering>true</filtering>

                        <includes>
                            <include>**/*.xml</include>
                        </includes>
                    </resource>
                </webResources>
            </configuration>
        </plugin>

web.xml は次のようになります。

<servlet>
    <servlet-name>myservlet</servlet-name>
    <servlet-class>com.vaadin.terminal.gwt.server.ApplicationServlet</servlet-class>

    <init-param>
        <param-name>application</param-name>
        <param-value>com.catalystitservices.vaadin.TestApp</param-value>
    </init-param>
</servlet>

<servlet-mapping>
    <servlet-name>myservlet</servlet-name>
    <url-pattern>/test-app</url-pattern>
</servlet-mapping>

作成した war ファイルを実行しようとしてもmvn tomcat7:run、外部の Tomcat サーバーに (マネージャー ページを介して) デプロイしようとしても、同じエラーが発生します。これにより、war ファイルを正しくビルドしていないと思います。私が見つけることができるエラーログはありません (しかし、私はそれらを見落としているかもしれません)。

何か案は?

4

1 に答える 1

5

<finalName>ブロックで指定していない場合<build>、Maven は次の形式で war 名を作成します。

vaadin-test-1.0.war

はアーティファクトvaadin-test名、1.0はバージョン文字列です。

したがって、参照する必要があるURLはそうではあり/vaadin-test-1.0ません/vaadin-test

さらに、vaadin サーブレットは URL /test-app にバインドされているため、 finalName タグを追加すると、完全な URL は次のようになります。/vaadin-test/test-app

注意!これは単なる例であることに注意してください。実際の値については1.0、自分で調べてください。pom.xml

于 2012-08-27T16:51:39.287 に答える