-
环境
JDK1.6, eclipse 3.4 JEE, maven 2.0.9, m2eclipse, mysql
我个人总是使用eclipse 的那个birt all in one 包, 版本是3.4.1的那个.
安装appfuse
- mvn archetype:create -DarchetypeGroupId=org.appfuse.archetypes -DarchetypeArtifactId=appfuse-modular-struts -DremoteRepositories=http://static.appfuse.org/releases -DarchetypeVersion=2.0.2 -DgroupId=com.appdemo -DartifactId=appdemo
- cd appdemo
- mvn -Dmaven.test.skip=true
- mvn war:inplace
- mvn appfuse:full-source
- mvn eclipse:eclipse -Dmaven.test.skip=true
- rd /s /q web\src\main\webapp\WEB-INF\classes
- rd /s /q web\src\main\webapp\WEB-INF\lib
- cd web
- mvn jetty:run
依次运行上面10个步骤,保证你最后得到一个可以运行的appfuse , 打开浏览器http://localhost:8080/ 就可以看到
如果你maven 报outofmemory 错,在maven 第一行加上set MAVEN_OPTS=-Xmx384m -XX:PermSize=48m
如果你mysql 密码不为空的话,在第一部之后记得修改pom.xml 里面的password 的值.
如果你不需要在命令行下启动jetty 的话, 7,8,9,10 都可以不运行.直接在eclipse 里面导入整个项目.一个core和一个web 项目. 如果你喜欢maven 的话, 你可以安装m2eclipse , 然后导入maven 项目,里面设置maven的repository 位置, 如果你不喜欢maven 的话,直接导入项目,然后配置M2_REPO 这个变量只想你的maven repository 的目录.
-
加入eclipse 的WTP
你最后应该是看到2个错误,是web 项目下的App.java 文件和它的测试文件放错了文件夹,你可以直接删除它, 如果你想要在WTP 中启动你还要做下列步骤.
- 修改 .setting\org.eclipse.wst.common.component
- 刪除 <wb-resource deploy-path="/" source-path="src/main/webapp"/>
- 刪除 <wb-resource deploy-path="/" source-path="src/main/resource"/>
- 增加 <wb-resource deploy-path="/" source-path="target/appdemo-1.0-SNAPSHOT"/>
- 修改 .classpath
- 刪除 <classpathentry kind="src" path="src/main/resources"excluding="ApplicationResources_de.properties|ApplicationResources_fr.properties|ApplicationResources_ko.properties|ApplicationResources_nl.properties|ApplicationResources_no.properties|ApplicationResources_pt*.properties|ApplicationResources_tr.properties|ApplicationResources_zh*.properties|applicationContext-resources.xml|**/*.java"/>
- 增加 <classpathentry kind="con"path="org.eclipse.jst.server.core.container/org.eclipse.jst.server.tomcat.runtimeTarget/ApacheTomcat v6.0"/>
- 增加 <classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.web.container"/>
(注意上面的大于小于符号不是英文的大于小于号,copy 的时候注意)
里面第4 步注意后面的值,最后是指向你的<web>/target/xxx-snapshot文件夹的,你前面创建的什么项目可能有所不同, 可能后面是xxx-webapp-1.0-snapshot 也可能,注意自己目录指定是对的.
上面默认是创建的Tomcat 6.0 的版本,如果你下载的是其他版本的容器或不同版本,自己修改(你可以手工创建一个dynamic web project 自己部署这看一下这个文件)
- 注意事项
如果你是要在myeclipse 或者wtp 下开发这个,记得你修改的java 代码可以正确部署,但是你修改jsp 和配置文件,记得是在target/xxx-snapshot 目录下的这个文件,它没有默认加入源代码文件夹.
如果你真的想在myeclipse 或者wtp 环境下开发,其实最好是自己建一个dynamic web project, 然后把它的生成的war 文件解压到web 目录下,然后手工copy 所有的java 文件和test 到源代码目录.
如果你不一定非要myeclipse 或者wtp 环境,普通的eclipse + m2eclipse 插件其实更方便,打包,测试,生成代码(appgen) , 启动jetty ,
主要是看个人习惯, 个人觉得eclipse + m2eclipse 这种方式真的很方便,主要是看你喜不喜欢maven 了.
如果开发过程再配以javarebel , 速度真的很快.
参考资料
appfuse 的quick start
appfuse 在eclipse 的wtp 配置
appfuse 在eclipse 的配置, 繁体的
appfuse + jpa 的配置, 繁体
appfuse + netbean ,繁体
appfuse + eclipse 繁体