AppFuse Maven Plugin 用来实现 AppFuse代码生成的工具
2009-06-06 18:26
363 查看
About the AppFuse Maven Plugin (AMP)
This plugin currently does two things:Code generation for CRUD
Customizing AMP Templates
Converts your project to use AppFuse's source
For more documentation on this plugin, see its Maven-generated site
.
Generating CRUD with AMP
Stop and think before generating code! At first, I didn't want to add a code-generation feature like this because you end up with a 1-to-1 relationship between tables/pojos, DAOs and Managers. On most of my projects, I have far fewer DAOs and Managers than POJOs. |
mvn appfuse:gen -Dentity=Name
If you don't specify the entity name, you're prompted for it. After generating the code, the plugin will install it for you as well, unless you specify -DdisableInstallation=true. If you disable installation, you can install it using:
mvn appfuse:install -Dentity=Name
To remove the installed artifacts, use:
mvn appfuse:remove -Dentity=Name
If your entity is not defined in hibernate.cfg.xml, it will be added. In a modular project, these commands must be run in the "core" and "web" modules. The plugin is smart enough to figure out when it should/should not generate stuff based on the packaging type (jar vs. war).
There's also a goal that allows you to generate model objects from database tables:
mvn appfuse:gen-model
Once you've generated and installed the POJO, you can generated crud for it using the appfuse:gen command.
We hope to combine gen and gen-model into a single command
.
Customizing AMP Templates
The FreeMarker templates that AMP uses to generate code are packaged in the plugin itself. Since version 2.0.2, you can copy the code generation templates into your project using the following command:appfuse:copy-templates
In previous versions, you can customize templates using the following steps:
Checkout the plugin from SVN (username: guest, password: <blank>):
svn co https://appfuse.dev.java.net/svn/appfuse/trunk/plugins/appfuse-maven-plugin appfuse-maven-plugin
Customize the templates in src/main/resources/appfuse.
Run mvn install (use -Dmaven.test.skip=true if tests fail and you don't want to fix them).
Make sure your project matches the version number you just installed.
Installing AppFuse's source into your project
The good news is creating an "old style" project is now pretty easy. If you create a new project using 2.0-m5+, you can now use:mvn appfuse:full-source
This goal will convert your project to use all of AppFuse's source and remove all dependencies on AppFuse. It will also refactor all package names and directories to match your project's groupId.
What the full-source plugin does:
Exports all sources from Subversion into your project. It reads the dao.framework and web.framework properties to determine what you need.
Removes warpath plugin from pom.xml.
Calculates dependencies by reading pom.xml files form the various AppFuse modules. It replaces your dependencies with these new ones. The order of the dependencies added is alphabetical based on groupId.
Reads properties from the root AppFuse pom.xml and adds the ones that don't exist to your project.
Renames packages to match your project's groupId.
相关文章推荐
- 代码生成工具的实现思路
- 编写自己的代码生成工具四:数据库信息查询实现
- WCF开发框架形成之旅---结合代码生成工具实现快速开发
- WCF开发框架形成之旅---结合代码生成工具实现快速开发
- Asp.net Webform 使用Repository模式实现CRUD操作代码生成工具
- 代码自动生成工具(二)-miniproto的c#库实现
- 代码自动生成工具(二)-miniproto的java库实现
- delphi实现批量缩略图生成工具开发代码
- Mybatis Generator Configuration Eclipse自动生成代码工具使用及实现基本crud
- WCF开发框架形成之旅---结合代码生成工具实现快速开发
- 编写自己的代码生成工具五:代码生成实现
- 运用CodeSmith引擎实现的代码生成工具
- 编写自己的代码生成工具四:数据库信息查询实现
- 编写自己的代码生成工具五:代码生成实现
- 代码自动生成工具(二)-miniproto的c++库实现
- 前端集锦:十款精心挑选的在线 CSS3 代码生成工具
- AOS 自动生成代码功能实现
- 配置使用yii 自动化代码生成工具gii(脚手架)
- ASP.NET代码生成工具codesmith
- lua里实现类似宏定义,动态生成代码