项目布局
我们推荐Tapestry使用此布局,由 快速开始Tapestry文档 创建的文件和文件夹布局。如果你正使用Ant创建你自己的构造工具,你也许会使用任何使你方便工作的方法...只要他们在WAR包里生成到合适的位置。
项目部分布局模仿了一个爆炸WAR(一个未解压到文件系统的的WAR文件)的格式。我们在开发时,经常直接在工作空间运行你的应用而不需要特殊的编译或打包过程。 大多数IDE都有插件让你完成这项功能...这也是Tapestry的一个特性(通过 实时类重载) 。
下面是样板项目,根目录为com.example.myapp
:
主要元文件 - src/main/java
主要的Java 源文件位于src/main/java下,会编译到WAR包里。这只是Java源文件,你可以看到Index.java在page子包里,而Layout.java在components 子包里。对于 组件类 这里的包命名是必须的也是符合规范的。
编译后的Java 类会打包到WAR里的WEB-INF/classes
文件夹下.
资源类路径 - src/main/resources
资源文件都在 src/main/resources 下
. 包括Index页面的 消息目录 (Index.properties
),以及Layout组件的消息目录和 组件模板 (Layout.tml
). 这些文件也会打包在WAR包里 WEB-INF/class 文件夹下
.
组件模板将会存储在资源文件夹下,但页面模板也许会打包在WAR里。
上下文资源 - src/main/webapp
WAR包主要构建 src/main/webapp
文件夹,这里存储了普通的文件 (比如图片和样式表). 页面模板也许也会存储在这里 (Index.tml
). 文件 src/main/webapp/WEB-INF/web.xml是Servlet的描述部署容器,需要Tapestry特殊的
配置 .
编译工具 (通常是 Maven) 会扮演编译类和资源到WAR包 WEB-INF/classes
文件夹下 的角色,还会添加Tapestry资源库和它的依赖包(当然包括你的应用定义的其它包)到 WEB-INF/lib文件夹
.
测试 - src/test
src/test/java
和 src/test/resources
a用于编译和执行测试。这里的文件不会打包到WAR包里。