姚博文 maven 敏捷开发之一 ssh项目生成

1.生成struts项目

  1. F:/maven/test_project/>mvn archetype:create -DarchetypeGroupId=org.appfuse.archetypes -DarchetypeArtifactId=appfuse-basic-struts -DremoteRepositories=http: //static.appfuse.org/releases -DarchetypeVersion=2.0.2 -DgroupId=com.mycompany.app -DartifactId=myproject

2.编译成eclipse项目

  1. >cd myproject
  2. >mvn eclipse:eclipse

导入eclipse,配置构建路径,去除所有M2_REPO中的类路径变量jar包,找到pom.xml右键 >Maven>Enable Dependency Management

运行为Maven test提示成功,或者新建一个M2_REPO路径变量:Window -> Preferences -> Java -> Build Path -> Classpath Variables New

             Name 命名为 M2_REPO ,路径为你的本地的 maven 类库地址,这里为 C:/Documents and Settings/jeffrey/.m2/repository ,设置成功后重新编译

 

3.pom.xml

  1. <amp.genericCore> false </amp.genericCore>(原为 true )
  2.  <amp.fullSource> true </amp.fullSource>(原为 false )

找到<!-- Database settings -->修改数据库的用户名密码

  1. a>mvn appfuse:full-source
  2. b>mvn appfuse:gen-model
  3. c>mvn appfuse:gen -Dentity=你的MODEL类
  4. d>mvn appfuse:install 
  5. e>mvn jetty:run-war 

 

 

如果新生成一张表的数据则从b开始重新执行一次

如果执行到d测试报错的时候,检查一下test/resource/hibernate.cfg.xml中是不是少了刚添加的Model类的mapping

 

重新执行新代码生成时注意会删除数据库中的表和数据

  1. <componentProperties>
  2.                         <drop> false </drop>(原为 true )
  3.                         <jdk5> true </jdk5>
  4.                         <propertyfile>target/classes/jdbc.properties</propertyfile>
  5.                         <skip>${maven.test.skip}</skip>
  6. </componentProperties>

执行“mvn jetty:run-war”时,会清空数据表的数据并插入默认的数据,默认的数据在%PROJECT_HOME%/src/main/resources/default-data.xml配置,这个很讨厌。修改pom.xml可以屏蔽这部分操作。

< dbunit .operation.type > NONE </ dbunit.operation.type >

 

 

常用命令:

创建 Maven 项目: mvn archetype:create
编译源代码: mvn compile
编译测试代码: mvn test-compile
运行测试: mvn test
产生 站点和报告 mvn site
打包: mvn package
在本地 Repository 中安装 jar,构建打包 mvn install
清除产生的项目: mvn clean

Help插件: mvn help:describe -Dplugin=help -Dfull  

在不载入依赖情况下运行java类: mvn exec:java -Dexec.mainClass=*.Main

浏览项目依赖: mvn dependency:resolve   或者: mvn dependency:tree  

综合测试并打包发布: mvn integration-test

生成项目appfuse源码: mvn appfuse:full-source

将项目转换成eclipse项目并从远程下载jar包到本地目录: mvn eclipse:eclipse -DdownloadSources= true   

在集成测试可以运行的环境中处理和发布包: mvn integration-test

在整合或者发布环境下执行,将最终版本的包拷贝到远程的repository,使得其他的开发者或者工程可以共享: mvn deploy

运行任何检查,验证包是否有效且达到质量标准: mvn verify

 

 

    • mvn -Declipse.workspace=<path-to-eclipse-workspace> eclipse:add-maven-repo  

其中path-to-eclipse-workspace是本机的eclipse的worksapce的路径。执行后maven会在eclipse中建立一个M2_REPO环境变量,并将其中所有的jar包引入到工程中,完全自动化,十分方便。



 

groupId,artifactId和version 这个三组合标示依赖的具体工程,而且这个依赖工程必须是maven中心包管理范围内的。如果碰上非开源包,maven支持不了这个包,那么则有三种方法处理:1.本地安装这个插件install plugin例如:

mvn install:install-file -Dfile=non-maven-proj.jar -DgroupId=some.group 

-DartifactId=non-maven-proj -Dversion=1


 

 

war插件有三种打包方式:
    第一种是war,复制所需文件到target目录,然后压缩war包。
    第二种是war:exploded,复制所需文件到target目录。像Tomcat这种支持以目录部署的项目,每次压缩一次war包太慢了,可采用这种方式。
    第三种是war:inplace,直接在webapp目录中复制所需的文件,如lib库,classes文件等。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值