[導入][AppFuse] AppFuse使用手記--目錄結構(三) [原]
AppFuse的目錄結構大致如下:
├---src (1)
┆ ├---main
┆ ┆ ├---java (3)
┆ ┆ ├---resources (4)
┆ ┆ ├---webapp (5)
┆ ├---site
┆ ├---test (6)
┆ ┆ ├---java
┆ ┆ ├---resources
├---target (2)
┆ ├---appfuse
┆ ┆ ├---generated-sources (7)
┆ ├---classes (8)
┆ ├---reda-1.0-SNAPSHOT.war (9)
┆ ├---reda-1.0-SNAPSHOT (10)
┆ ├---surefire-reports (11)
┆ ├---test-classes (12)
┆ ├---war (13)
┆ ┆ ├---work
┆ ┆ ┆ ├---appfuse-struts-2.0.1
┆ ┆ ┆ ├---appfuse-web-common-2.0.1
┆ ├---warpath (14)
┆ ├---work (15)
┆ ┆ ├---jsp
┆ ┆ ├---webapp
(1) 源代碼目錄,我們要修改代碼應該是在這個目錄。
(2) 目標目錄,這部分目錄基本上是執行相關命令生成的。
(3) java源代碼目錄,包括POJO、Action等
(4) 資源目錄,包括配置文件等
(5) web應用源代碼目錄
(6) 測試源代碼目錄
(7) appfuse自動生成的代碼
(8) 源代碼編譯輸出目錄
(9) 項目的war
(10) 由(9)解壓的目錄
(11) 自動測試報表目錄
(12) 自動測試編譯輸出目錄
(13) war包解壓目錄
(14) war解壓目錄
(15) jetty發布目錄
運行“mvn jetty:run-war”的順序是:
1。(1)的代碼編譯輸出到(8),等同于執行“mvn warpath:add-classes”。
2。生成(13)的war,只有(1)的部分不包括web應用。
3。(4)的資源文件native2ascii,同時發布到(8),等同于執行“mvn native2ascii:native2ascii”。
5。將(4)配置文件發布到(8),等同于執行“mvn resources:resources”。
6。(6)的代碼編譯輸出到(12)。
7。(6)的資源文件native2ascii,同時發布到(12)。
8。自動測試生成測試報告到(11)。
9。生成(15)。
10。生成(13)。
11。將(15)打包生成(9)。
執行“mvn jetty:run-war”的相關日志信息,可以看出“mvn jetty:run-war”先后調用了那些命令。
[INFO] [aspectj:compile {execution: default}]
[INFO] [native2ascii:native2ascii {execution: native2ascii-utf8}]
[INFO] [native2ascii:native2ascii {execution: native2ascii-8859_1}]
[INFO] [resources:resources]
[INFO] [compiler:compile]
[INFO] [resources:testResources]
[INFO] [warpath:add-classes {execution: default}]
[INFO] [aspectj:compile {execution: default}]
[INFO] [native2ascii:native2ascii {execution: native2ascii-utf8}]
[INFO] [native2ascii:native2ascii {execution: native2ascii-8859_1}]
[INFO] [resources:resources]
[INFO] [hibernate3:hbm2ddl {execution: default}]
[INFO] [dbunit:operation {execution: test}]
[INFO] [war:war]
[INFO] [jetty:run-war]
運行“mvn war:inplace”,可以將(5)生成。 但是(4)的資源文件和配置文件是不會同步到(5)下面。要將(4)的配置文件同步到(5)下,需要在運行“mvn war:inplace”前先執行“mvn resources:resources”,同于將(4)的資源文件同步到(5)下,需要在運行“mvn war:inplace”前先執行“mvn native2ascii:native2ascii”。
我們一般在(5)下進行開發(如果在(10)或者(15)下開發,運行“mvn jetty:run-war”會將代碼沖掉),運行“mvn jetty:run”啟動Web服務,需要注意的是必須刪除src\main\webapp\WEB-INF\lib和src\main\webapp\WEB-INF\classes\struts.xml,否則會報錯。如果習慣使用Tomcat,也可以將Tomcat的配置指向src\main\webapp,當然src\main\webapp\WEB-INF\lib和src\main\webapp\WEB-INF\classes\struts.xml就不需要刪除了。
當然在運行“mvn appfuse:gen-model”和“mvn appfuse:gen -Dentity=Name”時,生成的文件都會安裝到(15),只要再執行“mvn war:inplace”就可以了。
文章來源: http://heyday.blogcn.com/diary,14999843.shtml