使用maven2 構建 Webapp應用程序
基于以下框架:
spring,hibernate,webwork.2.2.2
1. mvn archetype:create -DgroupId=com.mycompany.app -DartifactId=my-webapp -DarchetypeArtifactId=maven-archetype-webapp
2. 添加main/java test/java 文件夾
3. 構建pom.xml.添加相關依賴:
注意以下幾點,
????? spring:使用id:org.springframework
????? hibernate:? org.hibernate
中途會出現錯誤。因為jta下載不到,因為licenese的原因
jta需要自己下載:java.sun.com/products/jta
下載回來后 使用jar命令打包 放到本地Repo。
4.配置pom
<resources>
???<resource>
????<directory>src/main/resources</directory>
???</resource>
???<resource>
????<directory>src/main/java</directory>
????<includes>
?????<include>**/*.xml</include>
????</includes>
???</resource>
??</resources>
??<testResources>
???<testResource>
????<directory>src/test/resources</directory>
???</testResource>
???<testResource>
????<directory>src/main/webapp</directory>
????<includes>
?????<include>**/*.xml</include>
????</includes>
???</testResource>
??</testResources>
5.我們用到了jetty6來自動化部署
<plugins>
??<plugin>
????<groupId>org.mortbay.jetty</groupId>
????<artifactId>maven-jetty6-plugin</artifactId>
???<version>6.0.0beta14</version>??????
???</plugin>
??</plugins>
mvn package 之后可以mvn jetty6:run
啟動之后,可以在另一個進程 mvn compile.冒死可以熱交換
在mvn jetty6:run的console Ctrl+c可以停止進程
6.文件放置位置:
resource/ :
log4j.xml ,webwork相關,ehcache.xml, spring配置文件的properties文件,比如jdbc.properties
webapp/web-inf? :
applicationContext,web.xml
hbm放在java里面
7. 其他相關
在webwork2.2中,不再需要通過ActionAutoWiringInterceptor來給Action注入Spring的bean(這種方式仍然保留在xwork1.1中),改用了另一種更加方便的方式WebWorkSpringObjectFactory,配置方式如下:
在webwork.properties中加入如下配置內容:
webwork.objectFactory=spring
#以下配置可選
#webwork.objectFactory.spring.autoWire=name這樣就可以了,
在Action中聲明需要某Spring bean,就會自動注入進來。
autowire的方式有四種:name,type,auto,constructor,默認方式是name,autowire語義是Spring的語義
另外不推薦用spring管理action