1

新しい Spring MVC Web アプリケーションを作成しています。

STS 3.0 Dashboard -> Spring Template Project -> Spring MVC Project (URL:http://dist.springsource.com/release/STS/help/org.springframework.templates.mvc-3.1.2.zip) で作成プロジェクト。次のようなディレクトリ構造を作成しました。

build/
    classes/
src/
    main/
        java/
            com/
                example/
                    web/
                        HomeController.java
        resources/
            META-INF/
            log4j.xml
        webapp/
            resources/
            WEB-INF/
                classes/
                spring/
                    appServlet/
                        servlet-context.xml
                    root-context.xml
                views/
                    home.jsp
                web.xml
    test/ ***(I'll leave out what's under test)***
target/
    classes/  ***(I'll leave out what's under classes)***
    test-classes/  ***(I'll leave out what's under testclasses)***
WebContent/
    META-INF/
        MANIFEST.MF
    WEB-INF/
        lib/

これは、ドキュメントを見つけることができるどのディレクトリ レイアウトとも一致せず、確かに間違っているように見えます。なぜ aWebContent/WEB-INFと a があるのsrc/webapp/WEB-INFですか?なぜ abuild/と a の両方なのtarget/ですか?

Maven を使用してコマンド ラインからだけでなく、Eclipse Juno からも自動的にビルドおよびデプロイできるようにしたいので、質問 1 は次のとおりです。このディレクトリ構造をクリーンアップするにはどうすればよいですか?

src/main/resources/質問 2:との違いは何src/main/webapp/resourcesですか? 特定の静的リソースを配置するディレクトリを選択するにはどうすればよいですか?

質問 3: Maven で取得できないライブラリを含める必要がある場合、どこに配置すればよいですか?

4

1 に答える 1

0

私はそれを自分のローカルに結び付けました。以下はフォルダー構造です。

.
├── pom.xml
├── src
│   ├── main
│   │   ├── java
│   │   │   └── com
│   │   │       └── test
│   │   │           └── spring
│   │   │               └── HomeController.java
│   │   ├── resources
│   │   │   ├── log4j.xml
│   │   │   └── META-INF
│   │   └── webapp
│   │       ├── resources
│   │       └── WEB-INF
│   │           ├── classes
│   │           ├── spring
│   │           │   ├── appServlet
│   │           │   │   └── servlet-context.xml
│   │           │   └── root-context.xml
│   │           ├── views
│   │           │   └── home.jsp
│   │           └── web.xml
│   └── test
│       ├── java
│       │   └── com
│       │       └── test
│       │           └── spring
│       └── resources
│           └── log4j.xml
└── target
    ├── classes
    │   ├── com
    │   │   └── test
    │   │       └── spring
    │   │           └── HomeController.class
    │   └── log4j.xml
    ├── m2e-wtp
    │   └── web-resources
    │       └── META-INF
    │           ├── MANIFEST.MF
    │           └── maven
    │               └── com.exigen
    │                   └── spring
    │                       ├── pom.properties
    │                       └── pom.xml
    └── test-classes
        ├── com
        │   └── test
        │       └── spring
        └── log4j.xml

(Eclipseのメタデータだけの.XXXファイル/フォルダーを削除しました)

基本的に、あなたの質問のために:

  1. 典型的なsrc/webapp/WEB-INFのはMavenの方法でWebContent/WEB-INFWTPの方法です。そしてMavenの方法が提案されています。
  2. またbuild/、Eclipseによって生成されtarget/、Mavenの方法です。これは無視できます。
  3. Question2の場合、フォルダーsrc/mian/resourcesにコンパイルされる Maven の方法です。target/classes「src/main/webapp/resources」は一部の静的リソースに使用されます。
  4. Question3の場合、実際にはすべてのサードパーティ ライブラリがWEB-INF/libafter パッケージに含まれているため、maven を使用しているかどうかに関係なく、ライブラリをこのフォルダに配置できます。
于 2013-05-10T04:57:37.603 に答える