2010-05-21 

利用Maven构建appfuse。
步骤如下:
1)Maven下载,下载apache-maven-2.2.1-bin.zip 下载地址:http://apache.freelamp.com/maven/binaries/apache-maven-2.2.1-bin.zip
 
2)下载appfuse支持包。下载地址: -2.0.2.zip(开发中需要的各个版本的jar包)
 
3)Maven环境搭建
1.解压缩apache-maven-2.2.1-bin.zip到你想安装的位置,如E:\java\apache-maven-2.2.1。
2.设置Maven系统环境变量:PATH中添加E:\java\apache-maven-2.2.1\bin。
3.确认Maven的安装,在命令行输入mvn - version提示Apache Maven 2.2.1即安装成功;
 
4)将下载下来的appfuse支持包解压。如:E:\java\m2\repository\
 
5)修改E:\java\apache-maven-2.2.1\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>
  -->
<localRepository>E:/java/m2/repository</localRepository>
 
6)新建项目:cmd 进入E:\workspace>
mvn archetype:generate -B -DarchetypeGroupId=org.appfuse.archetypes -DarchetypeArtifactId=appfuse- basic-struts -DarchetypeVersion=2.0.2 -DgroupId=com.appsafe -DartifactId=publicCenter
(注: 可以到http://appfuse.org/display/APF/AppFuse+QuickStart+-+Chinese 选择你所需要的套件,此处以Struts2为
例).出现BUILD SUCCESS为成功
 
7)获取appfuse源码:
先进入项目E:\workspace\publicCenter>    再运行mvn appfuse:full-source 
 
8)修改项目的pom.xml中的 <jdbc.username> 和 <jdbc.password> 为你数据库的用户名和密码
 
9)生成eclipse项目 :mvn eclipse:eclipse
加入支持库:Window -> Preferences -> Java -> Build Path -> Classpath Variables -> New,Name输入M2_REPO,Path输入E:\java\m2\repository
 
10)试运行:mvn jetty:run
 
11)自动生成代码:此处需要下载模板。mvn appfuse:copy-templates此时会在src/test/resources/appfuse下面多出很多.ftl的文件。这就是模板文件。可以自定义修改。
 
12)创建表结构:
CREATE TABLE `Employee` ( 
`id` bigint(20) NOT NULL auto_increment, 
`code` varchar(10) NOT NULL, 
`dept` varchar(50) NOT NULL, 
`name` varchar(20) NOT NULL, 
`status` varchar(10) NOT NULL, 
`telephone` varchar(20) default NULL, 
`title` varchar(50) NOT NULL, 
PRIMARY KEY (`id`) 
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
 
13)通过表来生成pojo:mvn appfuse:gen-model
删除@GeneratedValue(strategy=IDENTITY)就不报错了
 
14)修改pom.xml用于指示是否生成dao,manager........<genericCore>false</genericCore>为false生成dao,manager.........反之不生成。当改变了项目路径即不为org.appfuse时<fullSource>true</fullSource>.
     <groupId>org.codehaus.mojo</groupId>
                <artifactId>appfuse-maven-plugin</artifactId>
                <version>${appfuse.version}</version>
                <configuration>
                   <!-- <genericCore>${amp.genericCore}</genericCore>
                   <fullSource>${amp.fullSource}</fullSource>-->
                    <genericCore>false</genericCore>
                    <fullSource>true</fullSource>
                </configuration>
 
15)自动生成代码:mvn appfuse:gen -Dentity=Employee
 
16) mvn appfuse:install -Dentity=Employee 把生成的源代码及配置文件写入到\target\classes 
 
17)启动项目发现乱码问题:修改displaytag_zh_CN.properties其编码规则为utf-8
 
18)用tomcat启动时其实只需要:如建了一个项目包e:/publicWebapp只需要拷贝一下文件进入
【1】E:\workspace\publicCenter\src\main\webapp
【2】E:\workspace\publicCenter\target\classes
【3】新建lib放入E:\workspace\publicWebApp\WEB-INF
【5】使用命令: mvn dependency:copy-dependencies下载支持包。拷贝E:\workspace\publicCenter\target\dependency下的包至lib。
 
19)直接把依赖包拷贝到LIB下面然后启动项目。这时会报一个displaytag错误。其实是tomcat里的jsp.jar和appfuse依赖包里的jsp2.0-api.jar有重叠。删去依赖包中的jsp2.0-api.jar在启动就不报错了。

-------------------------------------------------------------------------------------------------------------------
20)
下面就是一些goal命令了,这里和Maven1有不少不同,常用的命令有:
创建Maven的普通java项目:mvn archetype:create -DgroupId=com.codeline.commons -DartifactId=pjoName   
  
创建Maven的Web项目:mvn archetype:create -DgroupId=com.mycompany.app -DartifactId=my-webapp
-DarchetypeArtifactId=maven-archetype-webapp
编译源代码:mvn compile (或者:mvn compiler:compile)     
编译测试代码:mvn test-compile
运行测试:mvn test
产生site:mvn site
打包:mvn package
在本地Repository中安装jar:mvn install
清除产生的项目:mvn clean
生成eclipse项目:mvn eclipse:eclipse
生成idea项目:mvn idea:idea
组合使用goal命令,如只打包不测试:mvn -Dtest package
编译测试的内容:mvn test-compile
只打jar包:mvn jar:jar
只测试而不编译,也不测试编译:mvn test -skipping compile -skipping test-compile (这里要特别注意 -
skipping 的灵活运用,当然也可以用于其他组合命令) 
清除eclipse的一些系统设置:mvn eclipse:clean
根据pojo生成相关代码文件 :mvn appfuse:gen

*******************************************************

安装Jar(或war)依赖到本地的数据仓库中

mvn install:install-file -Dfile=dwr.jar -DgroupId=dwr.mocha -DartifactId=dwrDart -Dversion=1.0 -Dpackaging=jar 

MAVEN 搭建APPFUSE的更多相关文章

  1. jenkins+git+maven搭建自动化部署项目环境

    简介    折腾了两个晚上,趁着今晚比较有空,把jenkins+git+maven搭建自动化部署项目环境搭建的过程记录一下,这里我把github作为git的远程仓库(https://github.co ...

  2. 手把手Maven搭建SpringMVC+Spring+MyBatis框架(超级详细版)

    手把手Maven搭建SpringMVC+Spring+MyBatis框架(超级详细版) SSM(Spring+SpringMVC+Mybatis),目前较为主流的企业级架构方案.标准的MVC设计模式, ...

  3. 【maven + hibernate(注解) +spring +springMVC】 使用maven搭建项目

    研究,百度,查资料+好友帮助,使用MyEcplise2015工具,通过maven搭建hibernate+springMVC+spring的项目,数据库采用MySql5.5 不过使用的版本会在项目搭建过 ...

  4. 【maven】 在 MyEcplise上使用maven搭建Web项目

    二.在My Ecplise上使用Maven搭建Web项目 1.新建一个maven项目   2.create一个简单的骨架 3.就像在ecplise中一样设置项目的以下配置   4.新创建的项目结构如下 ...

  5. 使用Maven搭建Struts2+Spring3+Hibernate4的整合开发环境

    做了三年多的JavaEE开发了,在平时的JavaEE开发中,为了能够用最快的速度开发项目,一般都会选择使用Struts2,SpringMVC,Spring,Hibernate,MyBatis这些开源框 ...

  6. Maven搭建webService (一) 创建服务端---使用main函数发布服务

    今天和大家分享下 使用maven 搭建 webService 服务端: 首先需要在你的IDE中集成Maven.集成办法此处略....... 1.创建一个web工程. 2.在pom文件中增加以下依赖: ...

  7. J2EE开发框架搭建(1) - maven搭建多项目

    怎样使用maven搭建多个项目 1. 创建一个maven project 2. 在frame-parent项目上面点击右键,新建Maven Module 3. 完毕之后再建立一个web项目 4. 依照 ...

  8. Maven搭建struts2+spring+hibernate环境

    Maven搭建struts2+spring+hibernate环境(一) 本文简单的使用STS的自带的maven插件工具搭建ssh(struts2+spring+hibernate)开发环境,图文并茂 ...

  9. Maven项目搭建(二):Maven搭建SSM框架

    上一章给大家讲解了如何使用Maven搭建web项目. 这次给大家介绍一下怎么使用Maven搭建SSM框架项目. 首先我们来看一下pom.xml的属性介绍: project: pom的xml根元素. p ...

随机推荐

  1. [leetcode]Word Break II @ Python

    原题地址:https://oj.leetcode.com/problems/word-break-ii/ 题意: Given a string s and a dictionary of words  ...

  2. Java系列:使用软引用构建敏感数据的缓存

    一.为什么需要使用软引用    首先,我们看一个雇员信息查询系统的实例.我们将使用一个Java语言实现的雇员信息查询系统查询存储在磁盘文件或者数据库中的雇员人事档案信息.作为一个用户,我们完全有可能需 ...

  3. jQuery-append添加元素click无效

    很久没有使用jQuery,做项目的时候遇到一个小问题就是网页加载之后的append的元素是可以执行click事件,网页加载完成之后的,再次append的元素不执行click事件,简单的通过ul模拟一下 ...

  4. 线程 Thread Runnable 守护线程 join MD

    Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...

  5. SpringBoot学习:整合shiro(身份认证和权限认证),使用EhCache缓存

    项目下载地址:http://download.csdn.NET/detail/aqsunkai/9805821 (一)在pom.xml中添加依赖: <properties> <shi ...

  6. (转)C# SendMessage 参数与例子

    原文:http://hi.baidu.com/ytmeng/blog/item/25f5de5157931a888c543001.html using System;using System.IO;u ...

  7. 大数据开发实战:MapReduce内部原理实践

    下面结合具体的例子详述MapReduce的工作原理和过程. 以统计一个大文件中各个单词的出现次数为例来讲述,假设本文用到输入文件有以下两个: 文件1: big data offline data on ...

  8. Kafka:ZK+Kafka+Spark Streaming集群环境搭建(十四)定义一个avro schema使用comsumer发送avro字符流,producer接受avro字符流并解析

    参考<在Kafka中使用Avro编码消息:Consumer篇>.<在Kafka中使用Avro编码消息:Producter篇> 在了解如何avro发送到kafka,再从kafka ...

  9. ACM~排列组合&amp;&amp;hdu例子

    排列组合是数学中的一个分支.在计算机编程方面也有非常多的应用,主要有排列公式和组合公式.错排公式.母函数.Catalan Number(卡特兰数)等. 一.有关组合数学的公式 1.排列公式   P(n ...

  10. GPUImage API 文档之GPUImageOutput类

    GPUImageOutput类将静态图像纹理上传到OpenGL ES中,然后使用这些纹理去处理进程链中的下一个对象.它的子类可以获得滤镜处理后的图片功能.[本文讲的很少,由于有许多地方不清楚,以后会更 ...