最近研究了一下Appfuse感觉还挺有用的,如果用来做快速开发的平台会省很多时间,里面已经集成了权限系统,大部分的代码可以都自动配置生成,但是如果对这个权限系统的配置不熟悉的话,恐怕会增加开发的时间。
第一步:
搭建appfuse的框架,appfuse主要由maven来构建的。
下载最新版的maven后,在环境里面添加路径,然后运行 mvn -v 看能否正常工作。
(还有一个前提,就是要配置好jdk的环境,和mysql5.X,JDK是要求1.5以上)
maven还有其他的命令,做个简单的介绍
mvn appfuse:gen-model 根据数据库的表生成java类
mvn appfuse:gen 根据 POJOs.生成并安装Tests, DAO, Managers, Controllers and Views
mvn appfuse:full-source 把运行所需要的org.appfuse中的依赖类转换成你的包名称
mvn eclipse:eclipse 生成eclipse的项目的配置文件,用户可以直接把项目导入到eclipse中
mvn jetty:run-war 打包并且发布你的应用程序到Jetty, 查看在 http://localhost:8080
mvn appfuse:install 把生成的源代码及配置文件写入到src中
mvn integration-test 启动TOMCAT(或别的服务器)进行测试
mvn appfuse:remove 删除appfuse:gen.生成的代码
mvn appfuse:clean 清除target下的所有内容
上面的mvn命令行的介绍转载于:http://blog.csdn.net/wufang5/archive/2010/03/04/5341552.aspx
下载依赖文件包,https://appfuse.dev.java.net/servlets/ProjectDocumentList?folderID=9173下载后解压
然后修改maven目录conf文件夹下的settings.xml
在
<!-- localRepository
| The path to the local repository maven will use to store artifacts.
|
| Default: ~/.m2/repository
<localRepository>/path/to/local/repo</localRepository>
-->
下面加上你下载的依赖包的路径,我这里是H:/repository
<localRepository>H:/repository</localRepository>
开始使用命令行,我使用的是win系列的系统,cmd
进入命令行后,在任意盘下建立文件夹md appfuse
然后 cd appfuse
键入命令:
我这里使用struts 2.0的表单方式,如果需要添加其他的方式请参考appfuse主站的信息。
mvn archetype:create -DarchetypeGroupId=org.appfuse.archetypes -DarchetypeArtifactId=appfuse-basic-struts -DremoteRepositories=http://static.appfuse.org/releases -DarchetypeVersion=2.0.2 -DgroupId=com.mycompany.app -DartifactId=myapp
-DgroupId=com.mycompany.app 建立项目的默认包名
-DartifactId=myapp 建立项目的名字
运行完成后,修改pom.xml中的信息,转到最后一项,database setting中,修改数据库的用户和密码。
找到amp.genericCore这一段的配置,修改为false;
然后在进入目录,cd appfuse
cd myapp
mvn 会构建相应的工程信息,需要一段时间。
工程完成后,就可以运行demo了,mvn jetty:run-war,启动后,http://locahost:8080访问.
mvn appfuse:full-source 下载所有的源代码..
mvn war:inplace 将resource中的文件copy到webapp中
mvn eclipse:eclipse 生成eclipse项目
现在就可以导入eclipse了,我用的是myeclipse也没有问题,可以导入。
导入后,添加环境变量M2_REPO值为H:/repository. 添加变量的方式为window->preferences->java->bulidpath->classpath variables
项目环境中,java bulid path去掉src/main/webapp
使用myeclipse添加web capabilities,路径指向 src/main/webapp
然后就可以发布了。另外在发布以前要去掉文件夹的只读属性,不然会出错。
在发布以前别忘了修改src/main/resources/jdbc.properties中的信息,这些信息不会从pom.xml中读取了,必须手动配置
jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/myapp
jdbc.username=root
jdbc.password=root
hibernate.dialect=org.hibernate.dialect.MySQL5InnoDBDialect
# Needed by Hibernate3 Maven Plugin defined in pom.xml
hibernate.connection.username=root
hibernate.connection.password=root
hibernate.connection.url=jdbc:mysql://localhost:3306/myapp
hibernate.connection.driver_class=com.mysql.jdbc.Driver
另外appfuse可能会运行后就重建表,需要修改配置 把pom文件里的hbm2ddl和dbunit两个地方屏蔽掉即可。 hbm2ddl会每次重新构建表。dbunit会每次重新populate数据。
部署到tomcat后,需要删掉jsp-api-2.0这个包,可能有jar的冲突,反正有它在就无法正常的运行。