`
zhaoshg
  • 浏览: 259268 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

appfuse2.0.2在eclipse下的开发和使用

阅读更多

1.准备工作
包括JDK 5+、MySQL 5.x和Maven 2.1.0。Maven的环境变量配置:新建变量名为“M2_HOME”,路经为Maven根目录的环境变量,然后在Path中添加“;%M2_HOME%\bin”。如果你不想在线下载工程的依赖包,可以到appfuse-dependencies-2.0.2.zip下载,然后解压,并且将maven目录下conf文件夹下的settings.xml的localRepository变量设置为你刚刚解压的路径如C:\Docume~1\%username%\.m2\repository

2. 创建工程
接下来我们习惯性的想要去寻找AppFuse的工程源码,其实这个完全没有必要,Maven全部为我们代劳了。当然前提条件是你的机器必须能够上网。

因为我一直使用的都是struts+spring+ibatis的框架,所以接下来就是构建这个工程了。

进入命令行窗口,转到想要存放工程的路径下,输入
mvn archetype:create -DarchetypeGroupId=org.appfuse.archetypes -DarchetypeArtifactId=appfuse-basic-struts -DremoteRepositories=http://static.appfuse.org/releases -DarchetypeVersion=2.0.1 -DgroupId=com.mycompany.app -DartifactId=myproject
其中的-DgroupId和-DartifactId可以修改为自己想要的包名和工程名。如果你下载了上面的依赖包的话,"-DremoteRepositories=http://static.appfuse.org/releases "这个就不用加了

使用其它框架的可以到http://appfuse.org/display/APF/AppFuse+QuickStart查找相应的命令。

命令执行完,显示BUILD SUCCESSFUL后,进行下一步。

3.配置数据库
打开工程根目录下的pom.xml,找到最后一个<jdbc.username>和<jdbc.password>,即MySQL的配置项,把用户名和密码修改为自己MySQL的配置。AppFuse默认root用户的密码为空,如果你的数据库是这样设置的,当然就不用改了。

4. 因为appfuse默认的是hibernate,所以要修改为ibatis工程(修改pom.xml)

     ①删掉文件中的**/hibernate.cfg.xml

     ②把这个<artifactId>appfuse-hibernate</artifactId>改成<artifactId>appfuse-ibatis</artifactId>

     ③<dao.framework>hibernate</dao.framework>改为<dao.framework>ibatis</dao.framework>

     ④在<properties></properties>中加上<ibatis.version>2.3.4.726</ibatis.version>

 

5.运行工程
在命令行进入工程根目录,运行mvn,Maven开始下载jar包、Tomcat和运行集成测试。这一工作需要的时间还是挺长的,我的机器运行了半小时以上,所以你可以先去干点别的。如果你有了第一步的依赖包,就会节省很多时间.

接下来有可能会提示没有mysql-schema.sql文件,所以你建一个空的就可以了,再次运行mvn

接下来运行mvn jetty:run-war,Maven开始打包、发布程序,并启动Jetty,运行完成后,你就可以通过http://localhost:8080,使用admin/admin或者user/user登录,浏览这个web应用了。

从表面看,除了样式,功能没有多少变化。

5.开发工程
到现在的阶段还看不到工程源码,接下来运行mvn appfuse:full-source,如果你的操作系统是Windows,会有一个Ant1.7.0的bug而导致构建失败,解决办法要么下载Ant1.7.1(似乎目前还未发布),要么是在C:\Documents and Settings\%username%\.m2下建立一个settings.xml文件(其中username是你当前进入系统的用户名),内容是
<?xml version="1.0" encoding="UTF-8"?>
<settings>
    <localRepository>C:\Docume~1\%username%\.m2\repository</localRepository>
</settings>

重新运行mvn appfuse:full-source,工程源码就下载到工程目录下了。

其实这个路径C:\Docume~1\%username%\.m2\repository就是第一步你的依赖包解压位置,如果你已经在maven的settings文件配置了的话,这个settings.xml可以不用了

运行mvn install eclipse:eclipse,生成eclipse项目文件,这一过程也需要半小时左右。然后使用Eclipse打开它,可以欣赏最新的AppFuse源码了。如果你是下载并配置了appfuse-dependencies-2.0.2.zip,可以使用这个命令mvn clean eclipse:eclipse -o,就省略了下载jar的过程.

接下来还有一个问题,eclipse找不到jar包,源码里全是红叉。打开Java Build Path,发现有大量引用M2_REPO,大概eclipse不知道这个文件夹在哪里。添加一个变量,名字M2_REPO,路径指到C:\Docume~1\%username%\.m2\repository,确定后系统提示要重新编译,之后大部分红叉都会消失了。
 以下的附件是我的pom.xml文件,这个可以根据自己的需要定制的.

  • pom.rar (4.4 KB)
  • 下载次数: 82
分享到:
评论
1 楼 zenzuguo 2012-05-10  
为啥我在eclipse tomcat6.0启动时总报错

May 10, 2012 2:22:56 PM org.apache.catalina.core.StandardContext listenerStart
SEVERE: Exception sending context initialized event to listener instance of class com.testapp.webapp.listener.StartupListener
java.lang.IllegalArgumentException: Failed to find mapping for class [com.testapp.model.Role]
at org.compass.gps.device.ibatis.SqlMapClientGpsDevice.doGetIndexEntities(SqlMapClientGpsDevice.java:122)
at org.compass.gps.device.support.parallel.AbstractParallelGpsDevice.index(AbstractParallelGpsDevice.java:89)
at org.compass.gps.impl.DefaultReplaceIndexCallback.buildIndexIfNeeded(DefaultReplaceIndexCallback.java:42)
at org.compass.core.lucene.engine.manager.DefaultLuceneSearchEngineIndexManager$ReplaceIndexOperationCallback.firstStep(DefaultLuceneSearchEngineIndexManager.java:281)
at org.compass.core.lucene.engine.manager.DefaultLuceneSearchEngineIndexManager.doOperate(DefaultLuceneSearchEngineIndexManager.java:218)
at org.compass.core.lucene.engine.manager.DefaultLuceneSearchEngineIndexManager.doReplaceIndex(DefaultLuceneSearchEngineIndexManager.java:266)
at org.compass.core.lucene.engine.manager.DefaultLuceneSearchEngineIndexManager.replaceIndex(DefaultLuceneSearchEngineIndexManager.java:261)
at org.compass.gps.impl.SingleCompassGps.doIndex(SingleCompassGps.java:118)
at org.compass.gps.impl.AbstractCompassGps.index(AbstractCompassGps.java:154)
at org.compass.gps.impl.AbstractCompassGps.index(AbstractCompassGps.java:128)
at com.testapp.webapp.listener.StartupListener.setupContext(StartupListener.java:110)
at com.testapp.webapp.listener.StartupListener.contextInitialized(StartupListener.java:93)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4206)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4705)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1057)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:840)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1057)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:463)
at org.apache.catalina.core.StandardService.start(StandardService.java:525)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:754)
at org.apache.catalina.startup.Catalina.start(Catalina.java:595)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
May 10, 2012 2:22:56 PM org.apache.catalina.core.StandardContext start
SEVERE: Error listenerStart

相关推荐

    appfuse 2.0.2PDF格式文档

    描述:AppFuse 2.0.2文档,PDF格式,详细介绍了AppFuse的应用、特性和如何利用它加速Web应用的开发过程。 AppFuse是一款用于“快速启动”Web应用开发的开源框架,特别适用于那些希望在短时间内构建高质量Web应用的...

    appfuse 2.0.2文档 pdf

    这个版本的文档很可能是关于如何使用AppFuse 2.0.2,包括其特性和安装指南,以及如何构建基于它的应用。 描述中提到的"NULL"意味着没有额外的详细信息,但我们可以通过博文链接...

    appfuse2.0.2 Struts2 hibernate Spring 构建的基于SQLServer2005 的ssh2项目的过程全记录

    appfuse2.0.2 Struts2 hibernate Spring 构建的基于SQLServer2005 的ssh2项目的过程全记录 网上很多帖子介绍appfuse2构建过程的,但是基于SQLServer2005的没有,顶多一笔带过,另外对于期间出现的各种问题也没有个说明,...

    Appfuse1.9至2.0.2

    主要是自己从网络上搜集的一些关于appfuse1.8.2-2.0.2的一些相关资料,间或有点自己试验的记录,还有点maven和quartz的东东,之前我主要是用1.8.2构建项目,感觉还不错,希望对想学习appfuse的人有些帮助.

    appfuse

    然后,你可以使用IDE(如IntelliJ IDEA或Eclipse)导入这个项目,或者通过Maven的命令行工具运行`mvn jetty:run`来启动一个内置的Jetty服务器,以便于测试和调试应用。如果一切配置正确,你将能在浏览器中看到...

    ibatis版appfuse eclipse工程

    已经调试好的ibatis版appfuse eclipse工程。帮助学习appfuse。表结构 和hibernate的相同。

    appfuse开发框架(myapp)使用说明文档

    ### AppFuse开发框架(myapp)使用说明文档 #### 一、配置开发环境 AppFuse是一个开源的Java Web应用开发框架,旨在提供一个快速的应用程序开发基础。为了更好地使用AppFuse框架进行开发,以下是对开发环境配置的...

    可直接使用的appfuse项目

    AppFuse是一个集成了众多当前最流行开源框架与工具(包括Hibernate、ibatis、Struts、Spring、DBUnit、Maven、Log4J、Struts Menu、Xdoclet、SiteMesh、OSCache、JUnit、JSTL等(现在还有lucene的,无敌了))于一身的...

    Appfuse开发教程

    Appfuse 是一个开源项目,它提供了一种快速开发Web应用程序的方式,尤其在使用Java技术栈时。本教程将深入探讨如何利用Appfuse创建数据访问对象(DAO)和简单Java对象(POJO),并进行数据库操作。 **一、在APPFUSE...

    appfuse学习笔记(一)安装部署

    它使用了多种流行的技术栈,如 Spring Boot、Hibernate、Thymeleaf 和 Maven,使得开发者可以更高效地开发基于 Java 的 Web 应用。在本文中,我们将深入了解如何安装并部署 AppFuse 项目。 **1. 预备知识** 在开始...

    建立项目原型骨架的步骤(最新版本appfuse)appfuse2.1.0-M2

    在最新的版本2.1.0-M2中,AppFuse 提供了基本(basic)和模块化(modular)两种类型的原型,以便于开发者根据项目需求选择合适的方式来创建项目。 建立项目原型骨架的步骤如下: 1. 首先,通过Maven的archetype...

    Appfuse教程Appfuse开发.pdf

    1. **集成流行框架**:Appfuse 将 Hibernate、Struts、Spring 等框架进行了深度集成,为开发者提供了一个统一的开发平台,降低了学习和使用这些框架的门槛。 2. **提供常用功能**:框架内已经预设了如用户认证、角色...

    AppFuse

    ### AppFuse:加速J2EE项目开发 #### 一、简介与背景 AppFuse是一个用于启动J2EE项目的工具包,它提供了一种快速而简便的方法来构建基于Java的应用程序。该工具包由Matt Raible创建,他在网络开发领域拥有丰富的...

    玩转appfuse--使用appfuse建设MVC网站

    在提供的压缩包中,"基于appfuse开发网站.doc"很可能是详细的开发指南,涵盖了AppFuse的使用方法、配置步骤以及常见问题。"CertsManSys"可能是一个实际的AppFuse应用示例,包含了完整的源代码,你可以运行这个例子来...

    APPFUSE工具研究.doc

    AppFuse 2.0还更新了技术栈,支持JDK 5、注解、JSP 2.0和Servlet 2.4,同时提供了对Eclipse、IntelliJ IDEA和NetBeans等IDE的良好支持,以提高开发效率。 此外,AppFuse 2.0集成了多种开源项目,如: 1. **Struts ...

    AppFuse 2.0 RC1 Documentation

    综上所述,AppFuse 2.0 RC1文档是一个全面的资源集合,不仅提供了AppFuse的基础使用教程,还深入探讨了高级主题,如安全性、持续集成和多框架集成,是Web开发人员学习和掌握AppFuse不可或缺的指南。

    Appfuse开发教程.rar

    通过阅读教程,你将学会如何配置和使用Appfuse,创建自己的项目,以及如何扩展和定制框架以满足具体项目需求。这是一条通往高效开发的道路,对于想在Java Web领域深入学习的开发者来说,是一份宝贵的资源。

Global site tag (gtag.js) - Google Analytics