您的位置:首页 > 其它

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

2008-12-31 17:46 351 查看
1.生成struts项目

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项目

>cd myproject

>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

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

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

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

a>mvn appfuse:full-source

b>mvn appfuse:gen-model

c>mvn appfuse:gen -Dentity=你的MODEL类

d>mvn appfuse:install

e>mvn jetty:run-war

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

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

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

<componentProperties>

<drop>
false
</drop>(原为
true
)

<jdk5>
true
</jdk5>

<propertyfile>target/classes/jdbc.properties</propertyfile>

<skip>${maven.test.skip}</skip>

</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文件等。



mvn test war:exploded tomcat:exploded 以目录方式部署

mvn tomcat:deploy 以war方式部署

mvn jetty:run war:exploded

参考

江南白衣

http://wiki.springside.org.cn/display/calvin/Maven

使用tomcat发布:http://mojo.codehaus.org/tomcat-maven-plugin/introduction.html
http://www.javaeye.com/topic/230265
#

私服:http://blog.csdn.net/bibitoo712/archive/2008/01/09/2032119.aspx

http://kidsmopi.javaeye.com/blog/232554

http://jeffchon.spaces.live.com/blog/cns!7F4E136BF893B025!420.entry

http://appfuse.org/display/APF/AppFuse+QuickStart

http://www.javaeye.com/topic/98480

http://hi.baidu.com/qiaobincs/blog/item/0c7cc7116d0eb578ca80c4d7.html

http://hi.baidu.com/zhang20084/blog/item/6ddf29385c159f27b9998f64.html

服务配置:http://www.yeeyan.com/articles/view/jdonee/19631
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: