我正在创建一个新的Spring MVC webapp。
我使用的是STS 3.0 Dashboard - >春天模板项目 - > 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/
这与我可以找到文档的任何目录布局都不匹配,它肯定看起来不对。就像为什么WebContent/WEB-INF
以及src/webapp/WEB-INF
一样?为什么同时为build/
和target/
?
我希望能够使用Maven从Eclipse Juno以及命令行自动构建和部署,因此问题1是:如何清理此目录结构?
问题2:src/main/resources/
和src/main/webapp/resources
之间有什么区别?如何选择将给定静态资源放入哪个目录?
问题3:如果我有需要包含的库,我不能让Maven得到,我该把它放在哪里?
答案 0 :(得分: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
(我删除了.XXX文件/文件夹,只删除了eclipse的元数据)
基本上,对你提问:
src/webapp/WEB-INF
是maven方式,WebContent/WEB-INF
是WTP方式。建议使用maven方式。build/
是由eclipse生成的,target/
是maven方式,你可以忽略它。src/mian/resources
是将编译到target/classes
文件夹的maven方式。并且'src / main / webapp / resources'用于某些静态资源。WEB-INF/lib
包之后,因此您可以将库放入此文件夹,无论是否使用maven。 / LI>
醇>