步骤:(以下步均为在命令行的输入)
------------------------------------------------------------------------------------------
第一步 通过APPFUSE创建基于Struts 2 Basic的项目:
mvn archetype:create -DarchetypeGroupId=org.appfuse.archetypes -DarchetypeArtifactId=appfuse-basic-struts -DremoteRepositories=http://static.appfuse.org/releases -DarchetypeVersion=2.0.1 -DgroupId=com.yourproject -DartifactId=yourproject
运行创建骨架的命令,不同的框架选用不同的命令,以下是Struts2 Basic的创建命令,私服构件完成后的命令
mvn archetype:create -DarchetypeGroupId=org.appfuse.archetypes -DarchetypeArtifactId=appfuse-modular-struts -DarchetypeVersion=2.0.2 -DgroupId=yourproject -DartifactId=yourproject
mvn archetype:create -DarchetypeGroupId=org.appfuse.archetypes -DarchetypeArtifactId=appfuse-basic-struts -DarchetypeVersion=2.0.1 -DgroupId=yourproject -DartifactId=yourproject
以下是Spring Basic的创建命令
mvn archetype:create -DarchetypeGroupId=org.appfuse.archetypes -DarchetypeArtifactId=appfuse-modular-spring -DremoteRepositories=http://static.appfuse.org/releases -DarchetypeVersion=2.0.2 -DgroupId=yourproject -DartifactId=yourproject
说明:DartifactId:项目名称 DgroupId:包结构
执行完毕后CD到yourproject目录中
第二步:加入ECLIPSE工程文件,方便导入到ECLIPSE
mvn eclipse:eclipse
第三步:修改yourproject/pom.xml 配置文件
1.修改生成代码方式,找到
<genericCore>${amp.genericCore}</genericCore>
<fullSource>${amp.fullSource}</fullSource>
修改成:
<genericCore>false</genericCore>
<fullSource>true</fullSource>
注意,这里必须吧pom.xml中的genericCore属性设为false 否则只会生成Action
2.数据库配置信息(mysql在最底下)
第四步:生成MODEL类
先执行,这样会把默认需要的相关类先生成
mvn appfuse:full-source
然后执行
mvn appfuse:gen-model
第五步:修改/src/main/resources/hibernate.cfg.xml添加需要生成dao,service,action,jsp的模块
第六步:生成Dao,Service,Action
mvn appfuse:gen -Dentity=你的MODEL类
这里可能会有一个提示找不到/src/main/resources/database.properties, 可以不用理会
如果设置了很复杂的关联,这个生成过程会很痛苦,老是报targeting an unmapped的错,
我的解决方法是找到关联的类比如USER,先把关系映射方法和属性删掉,
然后在再把/src/main/resources/hibernate.cfg.xml其他的类声明删掉
生成成功后再把这些加上去.
第七步: 把生成的配置文件写入到src目录下的配置文件中
mvn appfuse:install
最后执行mvn jetty:run-war 即可打包并运行项目
打完收工
总结:DAO和service的配置文件会生成到:/src/main/webapp/applicationContext.xml中
struts的配置文件会生成到:/src/main/resources/struts.xml中
------------------------------------------------------------------------------------------
常用的命令介绍:
------------------------------------------------------------------------------------------
mvn appfuse:gen-model 根据数据库的表生成java类
mvn appfuse:gen 根据 POJOs.生成并安装 Tests, DAOs, 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下的所有内容
------------------------------------------------------------------------------------------
需要注意的问题:
------------------------------------------------------------------------------------------
修改%maven_home%/conf/settings.xml
修改settings.xml中的localRepository,指向appfuse的解压目录
<settings>
<!– localRepository
| The path to the local repository maven will use to store artifacts.
|
| Default: ~/.m2/repository
–>
<localRepository>d:/program/appfuse-dependencies-2.0.1</localRepository>
需要注意的上面的配置里说默认的资源库路径为~/.m2/repository,这是指用户的home目录,但如果这样设置在windows下,会产生一些问题,因为windows的用户目录在C:\Documents and Settings下,而这个目录有空格,所以最好直接指定另外的没有空格的英文路径。
由于ant 1.7存在的bug(Problem with appfuse:gen in windows ),因此如果用的是ant 1.7,确认一下$USER_HOME/.m2/repository是否存在,不存在手工创建,并把修改后的settings.xml 拷贝到~\.m2\repository下不然在执行后续操作mvn appfuse:full-source时候会报如下错误
java.lang.IllegalArgumentException: When not aligning with a user install you mu
st specify a local repository location using the setLocalRepositoryDirectory( Fi
le ) method.
1.必须吧pom.xml中的genericCore属性设为false 否则只会生成Action
3.运行后出现gzip 该问题是压缩HTML的包导致,暂时屏蔽掉相关filter
4.使用ehcache1.3以前的版本生成的代码界面字符会变成问号,这是因为maven无法下载正确的ehcache包造成,解决方法是修改/pom.xml ,在里面加上:
<dependency>
<groupId>net.sf.ehcache</groupId>
<artifactId>ehcache</artifactId>
<version>${ehcache.version}</version>
</dependency>
<ehcache.version>1.4.1</ehcache.version>
后再生成代码
5.当某张数据表被修改需要更新相应的model时,只需执行mvn appfuse:gen -Dentity=yourmodel
当添加新的数据表时间,除了执行mvn appfuse:gen -Dentity=yourmodel外,还需要执行
mvn appfuse:install 来把DAO,STRUTS配置写入到SRC下的相应文件中.
6.如果希望生成的model类不在默认的model包根下,只需要在resources/hibernate.cfg.xml中修改想要生成的包路径就行,比如:
默认情况下UserInfo会生成到com.my.app.model下,把配置改成
<mapping class="com.my.app.model.user.UserInfo"/>
UserInfo会生成到com.my.app.model.user下。
7.使用Candy for Appfuse 插件时发现model都无法生成,
这是因为%MAVEN_HOME%\conf\settings.xml 中localRepository属性默认为~/.m2/repository
~即当前用户在系统中的用户目录,比如WINDOWS在c:\Documents and Settings\username
因为路径中包含空格,所以Candy找不到,解决方法就是在命令行操作
8.关于乱码的问题
对于APPFUSE生成的工程运行时乱码是很常见的现象,造成该现象的原因也有几种:
为了偷懒,这里引用一篇网上的文章:http://www.blogjava.net/43880800/archive/2006/11/18/81892.html
对于国际化文件*.properties文件的编辑,有两个ECLIPSE插件可以推荐:Properties Editor 和 ResourceBundleEditor
再次偷懒引用一篇网文:http://blog.csdn.net/lmjq/archive/2007/06/21/1660137.aspx
不过我的IDE有点问题,这两个都装上却不好使,不知道是怎么回事。用了个笨方法:写个批处理来做。内容如下:
echo begin encoding
start C:\Progra~1\Java\jdk1.6.0\bin\native2ascii -encoding UTF-8 d:\workspace\dayawa\src\ApplicationResources_zh.properties d:\workspace\dayawa\src\ApplicationResources_zh_CN.properties
echo done!
保存成 encodeProperties.bat 执行就行,当然,相关路径要设置成你的实际路径。
9. 执行“mvn jetty:run-war”时,会根据POJO先删除数据库里的表再重建,如果不想对数据进行操作可以修改pom.xml,将<configuration>下的drop熟悉修改为 false。不过执行“mvn jetty:run-war”仍然会执行建表操作,出现大量的错误日志,不过没有影响。
10. 执行“mvn jetty:run-war”时,会清空数据表的数据并插入默认的数据,默认的数据在%PROJECT_HOME%\src\main\ resources\default-data.xml配置,这个很讨厌。修改pom.xml中的<dbunit.operation.type>的配置为NONE可以屏蔽这部分操作。
ps:一个不错的blog,讲的都是关于maven:http://juvenshun.iteye.com/
PS:http://www.blogjava.net/shenlei/archive/2008/02/29/182885.html#FeedBack
ps:初学maven(2)-maven/artifactory/m2eclipse安装全过程http://www.blogjava.net/aoxj/archive/2008/08/28/225426.html
ps:结合maven进行项目架构
http://lxj8495138.iteye.com/category/46231?show_full=true
分享到:
相关推荐
** Maven 概述** Maven 是一个强大的项目管理和构建工具,广泛应用于Java开发领域。它通过使用一个统一的构建过程,简化了项目的构建、依赖管理以及文档生成等任务。Maven 3.5.2是Maven的一个稳定版本,包含了众多...
Maven3.9.4版本压缩包,仅供学习参考,更新版本请前往Maven官方下载;Maven3.9.4版本压缩包,仅供学习参考,更新版本请前往Maven官方下载;Maven3.9.4版本压缩包,仅供学习参考,更新版本请前往Maven官方下载;Maven...
apache-maven-3.0.5 apache-maven-3.1.1 apache-maven-3.2.5 apache-maven-3.3.9 apache-maven-3.5.4 apache-maven-3.6.3 apache-maven-3.8.5 每个版本包含4个文件: apache-maven-3.8.5-bin.tar.gz apache-maven-...
Apache Maven 是一个强大的项目管理和构建工具,主要用于Java项目。它基于项目对象模型(Project Object Model,POM)的概念,能够管理项目的构建、报告和文档。Maven 3.6.0是该工具的一个稳定版本,提供了许多改进...
**Windows环境下Maven 3.8.8的安装与配置** Maven是Apache软件基金会开发的一个项目管理和综合工具,主要用于Java项目的构建、依赖管理和文档生成。Maven 3.8.8是Maven的一个版本,它包含了对之前版本的一些改进和...
Apache Maven 是一个强大的项目管理和构建工具,主要用于Java项目。它基于项目对象模型(Project Object Model,POM)的概念,能够管理项目的构建、报告和依赖关系。Maven 的核心理念是通过标准化的构建生命周期和...
Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的项目管理工具软件。 Maven 除了以程序构建能力为特色之外,还提供高级项目管理工具。由于 Maven 的缺省构建规则有较高的可重用性,...
Maven最新版是款项目管理和构建自动化工具。Maven包含了一个项目对象模型 (Project Object Model),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管理系统(Dependency Management System)。 安装...
在IT行业中,Maven是一个非常重要的工具,尤其对于Java开发者来说,它是项目管理和构建的首选。本篇将详细讲解如何在Mac系统上,特别是配备M1芯片的MacBook上安装Apache Maven 3.6.3。 Apache Maven是一个基于项目...
Apache Maven 是一个强大的Java项目管理工具,它极大地简化了构建、依赖管理和项目文档的生成过程。Maven 3.6.0是该工具的一个稳定版本,提供了多项改进和新特性,旨在提高开发效率和增强项目的可维护性。 Maven的...
### 超全面搭建Maven仓库 Maven是一款强大的项目管理工具,主要用于Java项目的构建、依赖管理和项目信息管理。本文将详细介绍如何搭建Maven环境、配置Maven仓库以及在Eclipse中集成Maven。 #### 一、下载安装Maven...
Apache Maven 是一个强大的项目管理和构建工具,主要用于Java项目。它基于项目对象模型(Project Object Model,POM),能够管理项目的构建、报告和文档,通过一套统一的构建生命周期和插件系统,极大地简化了软件...
Maven是Java开发领域中不可或缺的项目管理和构建工具,由Apache Software Foundation开发并维护。它通过一套规范化的构建过程,使得Java项目管理变得简单而高效。本篇文章将深入探讨Maven的历史版本以及如何下载这些...
Apache Maven 是一个强大的Java项目管理和综合工具,它简化了构建过程,通过标准化构建生命周期和依赖管理,使得开发者能够更高效地构建、测试和部署Java应用程序。Maven 3.3.9是Maven的一个稳定版本,它包含了多个...
apache-maven-3.8.6-bin.zip apache-maven-3.8.6-bin.zip apache-maven-3.8.6-bin.zip apache-maven-3.8.6-bin.zip apache-maven-3.8.6-bin.zip apache-maven-3.8.6-bin.zip apache-maven-3.8.6-bin.zip apache-...
Apache Maven 是一个强大的项目管理工具,广泛用于Java应用程序的构建、管理和依赖管理。Maven 3.5.2是该工具的一个稳定版本,专为Mac操作系统优化。在本文中,我们将深入探讨Maven的核心概念、功能以及如何在Mac...
Maven 使用 tomcat8-maven-plugin 插件 Maven 是一个流行的构建自动化工具,它可以帮助开发者自动完成项目的编译、测试、打包、部署等任务。 Tomcat 是一个流行的 Web 服务器,Maven 提供了一个插件 tomcat8-maven-...
Apache Maven 是一个强大的项目管理和构建工具,可用于 Java 项目的构建、依赖管理和项目管理。Apache Maven 3.9.6-bin 是 Apache Maven 的一个特定版本,其中的“bin”表示这是二进制分发版,适用于直接使用而无需...
Maven是Java世界中的一款强大的项目管理和构建工具,它极大地简化了软件项目的构建、依赖管理和生命周期过程。Maven 3.8版本是该工具的一个重要更新,提供了更多的优化和改进,旨在提升开发效率和稳定性。 Maven的...
【标题】"maven之开源中国Maven库" 指的是使用 Maven,一个流行的Java项目管理和集成工具,与开源中国的Maven仓库进行交互。开源中国Maven库是中国的一个开源软件资源平台,提供了大量的开源Java库,使得开发者可以...