使用appfuse生成工程(第一步-自动生成的工程)

使用appfuse生成工程(第一步-自动生成的工程)

1. 创建工程

mvn archetype:create  - DarchetypeGroupId = org.appfuse.archetypes  - DarchetypeArtifactId = appfuse - basic - struts  - DremoteRepositories = http: // static.appfuse.org / releases  - DarchetypeVersion = 2.0 . 2   - DgroupId = com.canaangroup.health  - DartifactId = hinorelproject

    使用上面的命令创建hinorelproject的工程。工程中创建的类在com.canaangroup.health包中。

 

2. 修改pom.xml中的数据库连接参数

    自动生成的代码中默认的数据库连接参数是mysql的,如果是其他数据库,需要从pom.xml前面复制一个对应数据库的配置文件下来,然后进行相应的修改。我本地使用的是Oracle数据库,因此将mysql的配置进行注释,加上了Oracle的配置信息,修改后的配置如下所示:

        
<!--  Database settings  -->
        
<!--
        <dbunit.dataTypeFactoryName>org.dbunit.dataset.datatype.DefaultDataTypeFactory</dbunit.dataTypeFactoryName>
-->
        
<!--
        <dbunit.operation.type>CLEAN_INSERT</dbunit.operation.type>
        <hibernate.dialect>org.hibernate.dialect.MySQL5InnoDBDialect</hibernate.dialect>
        <jdbc.groupId>mysql</jdbc.groupId>
        <jdbc.artifactId>mysql-connector-java</jdbc.artifactId>
        <jdbc.version>5.0.5</jdbc.version>
        <jdbc.driverClassName>com.mysql.jdbc.Driver</jdbc.driverClassName>
        <jdbc.url><![CDATA[jdbc:mysql://localhost/hinorelproject?createDatabaseIfNotExist=true&amp;useUnicode=true&amp;characterEncoding=utf-8]]></jdbc.url>
        <jdbc.username>root</jdbc.username>
        <jdbc.password></jdbc.password>
-->
        
        
<!--  Oracle's configuration  -->
        
< dbunit .dataTypeFactoryName > org.dbunit.ext.oracle.OracleDataTypeFactory </ dbunit.dataTypeFactoryName >
        
< dbunit .operation.type > CLEAN_INSERT </ dbunit.operation.type >
        
< dbunit .schema > HRANOREL </ dbunit.schema >   <!--  Make sure to capitalize the schema name  -->
        
< hibernate .dialect > org.hibernate.dialect.Oracle9iDialect </ hibernate.dialect >
        
< jdbc .groupId > com.oracle </ jdbc.groupId >
        
< jdbc .artifactId > ojdbc14 </ jdbc.artifactId >
        
< jdbc .version > 9.2.0.1.0 </ jdbc.version >
        
< jdbc .driverClassName > oracle.jdbc.OracleDriver </ jdbc.driverClassName >
        
< jdbc .url > <![CDATA[ jdbc:oracle:thin:@localhost:1521:sinosoft ]]> </ jdbc.url >
        
< jdbc .username > hranorel </ jdbc.username >
        
< jdbc .password > hranorel </ jdbc.password >
    以上是我本地的数据库配置信息,注意:根据对mysql的配置,而复制过来的Oracle的配置信息中缺少dbunit.operation.type参数,可以将mysql配置参数中的dbunit.operation.type参数添加到dbunit.dataTypeFactoryName和dbunit.schema之间。

 

3. 测试自动生成的代码

    修改了数据库配置之后,就可以运行自动生成的代码了,在新生成的工程的文件夹下执行 mvn jetty:run-war命令就可以了。在我这个例子中也就是在hinorelproject文件夹下执行。此时因为用的是Oracle的数据库,可能在工程中没有这些类,因此需要安装一下Oracle的包文件就可以了,根据错误提示中的命令执行就可以了。

 

4. 执行mvn war:inplace命令

    执行这个命令之前可以将工程提交到版本控制库中。
 

 5. 执行mvn jetty:run命令

    执行这个命令是在jetty服务器中测试自动生成的工程,执行该命令之前需要先删除src\main\wabapp\WEB-INF\lib文件夹和src\main\webapp\WEB-INF\classes\struts.xml文件。然后再执行 mvn jetty:run命令。

 

6. 将自动生成的工程转换为IDEA的工程

    将工程转换为IDEA工程,可以运行mvn idea;idea命令。

 

7. 生成源文件

    生成源文件之前需要先删除src\main\webapp\WEB-INF\lib文件夹和src\main\webapp\WEB-INF\classes文件夹。
    然后再执行 mvn appfuse:full-source命令。生成源文件之后可以再执行 mvn jetty:run启动服务,测试自动生成的代码。现在启动服务,登录进去后,打开“查看用户”菜单,可以看到页面上有乱码出现了。这是因为字符集的问题。可以用UltraEditor将ApplicationResources_zh.properties、displaytag_zh.properties以及errors_zh.properties文件替换成Unicode格式,再启动访问就可以了。

你可能感兴趣的:(使用appfuse生成工程(第一步-自动生成的工程))