1

Maven を使用すると、共通のコントローラー、jsp、およびその他のリソースを Web モジュールと共有できます。

構造

web1 (パッケージ ジャー)

--main
        --java
            --controller
                MyControllerToShared with @Controller annotation
        --resources
        --webapp
            --scripts
                javascripts files
            --styles
                css files
            --WEB-INF
                --views
                    jsp to share
    pom.xml

web2 (パッケージ戦争)

Classic web app structure with dependency of web1.jar

私の web2 アプリは動作しますが、web1 モジュールで定義された URI を使用した HTTP 要求のマッピングが見つかりません。アノテーション @Controller と @RequestMapping を使用します。私はservlet.xmlで定義しました:

<context:component-scan base-package="controller" />
<mvc:annotation-driven/>

異なる Web モジュール間でコントローラーとリソースを共有するにはどうすればよいですか? 最後に、コモンズ (エラー ハンドラー、jsp のエラー、スタイル、js など) を含む 3 つの Web アプリが必要です。

4

2 に答える 2

1

すべての共有リソースを使用して追加のプロジェクトを作成してみませんか?これをすべてのWebアプリで再利用できます。依存関係として、pom.xmlに共有ファイルを含めるだけです。

共有リソースを使用して、追加のプロジェクトから始めることができます。

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>nl.connexys</groupId>
    <artifactId>shared</artifactId>
    <version>1.0-SNAPSHOT</version>
    <name>Shared resources</name>

</project>

次に、webappプロジェクトで、そのプロジェクトを依存関係として使用できます。

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>nl.connexys</groupId>
    <artifactId>webapp</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>war</packaging>
    <name>Webservice endpoints</name>

    <dependencies>
        <dependency>
            <groupId>nl.connexys</groupId>
            <artifactId>shared</artifactId>
            <version>1.0-SNAPSHOT</version>
        </dependency>
    </dependencies>
</project>

しかし、これはすべて非常に基本的なMavenのものです。例はあなたを正しい方向に向けるべきだと思います。

于 2013-02-04T15:07:07.183 に答える