mvn appfuse:gen-model的配置和使用方法

本文介绍如何使用AppFuse Maven插件从数据库生成POJO,包括配置pom.xml及解决外键关联问题的方法。
mvn appfuse:gen-model是appfuse maven plugin(简称AMP,大家记住这个简称)中的
一个命令,用以从数据库反向工程生成pojo。我们可以在eclipse环境中配置这个插
件,具体配置方法类似于配置mvn jetty:run,在此不再赘述。配置好了这个插件之
后,我们还有如下几步要做才能保证该插件能正确运行:

1. 修改pom.xml中<artifactId>appfuse-maven-plugin</artifactId>下面的相关配
置,在<configuration>下加入如下语句:

<componentProperties>

    <revengfile>target/classes/hibernate.reveng.xml</revengfile>

</componentProperties>

hibernate.reveng.xml是用以定制反向工程的配置文件,基本配置appfuse已经帮我们
做好了,没有大的问题,不过大家可以根据自己的需求去修改,也可以更改到另外一
个路径

2.我们的物理表中往往存在外键关联关系,这时用这个插件反向工程的时候会报错,
我们需要按如下步骤进行修改:
   a.首先cmd进入自己的项目目录

   b.运行命令:mvn appfuse:copy-template

   c.找到src/test/resources/appfuse/model路径下的
Ejb3PropertyGetAnnotation.ftl文件,找到
<#lt/>${pojo.generateJoinColumnsAnnotation(property)},将此句改为<#lt
/>${pojo.generateJoinColumnsAnnotation(property,cfg)}即可


修改步骤2中 b 运行命令改为:mvn appfuse:copy-templates
如果找不到 hibernate.reveng.xml , appfuse 会自动生成一个到revengfile指定目录


http://appfuse.org/display/APF/AppFuse+QuickStart+-+Chinese
### Maven `deploy:deploy-file` `package` 命令的区别 Maven 是一个强大的项目管理工具,广泛用于 Java 项目的构建、依赖管理项目信息管理。`mvn deploy:deploy-file` `mvn package` 是两个常用的 Maven 命令,它们在功能用途上有显著的区别。 #### `mvn package` 命令 `mvn package` 命令用于将项目的源代码编译、打包,并生成最终的构建产物(如 JAR、WAR 等)。此命令会执行完整的构建生命周期,包括编译、测试、打包等阶段。生成的构建产物通常存储在项目的 `target` 目录中。 - **主要用途**:用于构建项目的可部署文件(如 JAR、WAR)。 - **生命周期阶段**:属于 Maven 默认生命周期中的 `package` 阶段。 - **典型应用场景**:在本地开发环境中构建项目,生成可部署的文件用于测试或进一步处理。 例如,执行以下命令将生成一个 JAR 文件: ```bash mvn package ``` 生成的 JAR 文件通常位于 `target/` 目录下。 #### `mvn deploy:deploy-file` 命令 `mvn deploy:deploy-file` 命令用于将已有的构建产物(如 JAR 文件)对应的 POM 文件上传到远程仓库(如 Nexus 私服)。此命令不属于 Maven 的默认生命周期,而是 `maven-deploy-plugin` 插件提供的一个目标。 - **主要用途**:将本地的构建产物部署到远程仓库,以便其他项目可以依赖该构建产物。 - **典型应用场景**:在内网环境中,将离线仓库中的 JAR 文件上传到 Nexus 私服,供其他项目使用。 例如,执行以下命令将 JAR 文件上传到 Nexus 私服: ```bash mvn deploy:deploy-file -Dfile=<file> -DrepositoryId=<repositoryId> -Durl=<url> -DpomFile=<pomFile> -Dpackaging=jar ``` 其中: - `-Dfile=<file>` 指定要上传的 JAR 文件。 - `-DrepositoryId=<repositoryId>` 指定远程仓库的 ID。 - `-Durl=<url>` 指定远程仓库的 URL。 - `-DpomFile=<pomFile>` 指定对应的 POM 文件。 - `-Dpackaging=jar` 指定打包类型(如 JAR)。 #### 总结区别 - **功能**:`mvn package` 负责构建项目,生成本地构建产物;而 `mvn deploy:deploy-file` 负责将已有的构建产物上传到远程仓库。 - **生命周期**:`mvn package` 是 Maven 默认生命周期的一部分;而 `mvn deploy:deploy-file` 是插件提供的额外功能。 - **使用场景**:`mvn package` 用于本地开发测试;`mvn deploy:deploy-file` 用于将构建产物发布到远程仓库,供其他项目依赖。 通过理解这两个命令的区别,可以更有效地管理项目的构建部署流程,尤其是在内网环境中进行依赖管理时尤为重要[^1]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值