1、使用Maven的archetype来生成框架
mvn archetype:generate -B -DarchetypeGroupId=org.appfuse.archetypes -DarchetypeArtifactId=appfuse-basic-struts-archetype -DarchetypeVersion=2.1.0 -DgroupId=com.mycompany -DartifactId=myproject -DarchetypeRepository=http://oss.sonatype.org/content/repositories/appfuse
mvn eclipse:clean eclipse:eclipse
这里有一个问题,在<dependency>中有一些占位符,但是在properties中却没有配置,所以需要手动加上:
<aspectj.version>1.6.0</aspectj.version>
<commons.beanutils.version>1.8.1</commons.beanutils.version>
<commons.dbcp.version>1.2.1</commons.dbcp.version>
<commons.lang.version>2.4</commons.lang.version>
<commons.collections.version>3.2</commons.collections.version>
<compass.version>2.1.3</compass.version>
<cxf.version>2.2.4</cxf.version>
<clickstream.version>1.0.2</clickstream.version>
<displaytag.version>1.1.1</displaytag.version>
<dwr.version>2.0.1</dwr.version>
<ehcache.version>1.7.0</ehcache.version>
<ehcache.web.version>1.6.0-beta2</ehcache.web.version>
<hibernate.annotations.version>3.4.0.GA</hibernate.annotations.version>
<hibernate.version>3.3.1.GA</hibernate.version>
<javamail.version>1.4.1</javamail.version>
<jpa.version>1.0</jpa.version>
<jstl.version>1.1.2</jstl.version>
<log4j.version>1.2.13</log4j.version>
<slf4j.version>1.6.1</slf4j.version>
<sitemesh.version>2.4.2</sitemesh.version>
<spring.security.version>3.0.5.RELEASE</spring.security.version>
<struts.menu.version>2.4.3</struts.menu.version>
<urlrewrite.version>3.1.0</urlrewrite.version>
<velocity.version>1.4</velocity.version>
3、进入根目录,生成代码(有些部分是jar形式)
mvn appfuse:full-source
4、用jetty来启动
mvn jetty:run-war -DskipTests
运行过程中,报找不到java.lang.ClassNotFoundException: org.hibernate.annotations.Entity,发现是hibernate-annotations.jar没有引入,手动加入即可。
根据数据库表生成POJO、其它代码的过程:
1、在数据库里创建一张表。
2、运行命令:mvn appfuse:gen-model,就会自动生成对应的POJO。
3、然后执行:mvn appfuse:gen -Dentity=POJO的类名,即可生成dao、service、jsp等类。
根据POJO生成表、其它代码的过程:
1、仿照User.java创建一个POJO,注意其中hibernate相关的annotation
2、在项目根目录下运行mvn appfuse:gen -Dentity=POJO的类名,即可生成dao、service、jsp等类。
3、生成数据库的表:打开hibernate.cfg.xml文件,将其他的项都临时注释掉(只留跟这个POJO相关的mapping,不然会把所有文件对应的表都重新创建一遍),运行命令:mvn test-compile hibernate3:hbm2ddl
初始化数据:
如果你不小心删除了表,可以先用命令:mvn test-compile hibernate3:hbm2ddl来创建表,然后运行mvn dbunit:operation来初始化数据(这些数据在sample-data.xml文件里)