MAVEN的配置(自己参考)

持续集成自动化工具。



apache project推得很厉害。

具体持续集成的概念确实不是很明了,听说不少,总觉得是批处理,使用XML描述要自动做的事情。

如下载运行库,编译,配置,部署,根据junit自动自行测试,生产报告。

Java项目,据说比ant更加强大。今天被迫使用了一把。SCM工具?

参考http://icecloud.51.net/blog/archives/000212.html 自己实践了一把

取下activemq的项目

这个项目使用了太多杂七杂八的库,搞得焦头烂额,而且只用maven配置。自己用eclipse/jbuilder都没办法搞清楚他需要什么库。

---

第一步,让maven跑起来,安装maven,jdk

1:JDK
JAVA_HOME="d:/java/jdk";
PATH = "d:/java/jdk/bin;d:/java/maven/bin";

maven执行包有些建议修改的地方
$maven/lib/maven.jar/defaults.properties
修改自动下载镜像
maven.repo.remote = http://apache.linuxforum.net/dist/java-repository, http://dist.codehaus.org, http://mirrors.sunsite.dk/maven/, http://public.planetmirror.com/pub/maven, http://www.ibiblio.org/maven
国内唯一的apache镜像都是坏的,maven又不能在socketcap下运行,教育网上根本无法自动下载lib

Maven默认的本地文件保存在Document and Setting的user.home里面,非常不便。在%MAVEN_HOME%下建立一个local目录,将本地的repostiory保存在此,以免重装系统丢失。
maven.home.local = ${maven.home}/local

中文显示问题:修改
maven.jar/org/apache/maven/messages/messages_zh_CN.properties
改为code的方式
JDK/bin/native2ascii messages_zh_CN.properties > messages_zh_CN.properties.new
改名messages_zh_CN.properties.new为messages_zh_CN.properties 覆盖jar中以前的。

编译项目:
运行maven,根据maven.xml自动下载相关需要库,构建环境,编译,测试
C:mqactivemq>maven
__ __
| / |__ _Apache__ ___
| |/| / _` V / -_) ' ~ intelligent projects ~
|_| |_/__,_|/_//___|_||_| v. 1.0

目录 D:javaMavenlocal 不存在。 尝试新建中……
尝试下载 JavaCC.zip……
858K downloaded
尝试下载 geronimo-kernel-1.0-SNAPSHOT.jar……
150K downloaded
尝试下载 geronimo-system-1.0-SNAPSHOT.jar……
80K downloaded
尝试下载 hsqldb-1.7.2.2.jar……
563K downloaded
尝试下载 commons-dbcp-1.2.jar……
100K downloaded
尝试下载 commons-pool-1.2.jar……
41K downloaded
尝试下载 axis-1.2-beta-2.jar……
1588K downloaded
尝试下载 servletapi-2.3.jar……
76K downloaded
尝试下载 geronimo-remoting-1.0-SNAPSHOT.jar……
101K downloaded
尝试下载 geronimo-network-1.0-SNAPSHOT.jar……
136K downloaded
尝试下载 geronimo-core-1.0-SNAPSHOT.jar……
131K downloaded
尝试下载 emberio-0.3-alpha.jar……
102K downloaded
尝试下载 jrms-1.1.jar……
617K downloaded
尝试下载 jgroups-2.2.5.jar……
1558K downloaded
尝试下载 p2psockets-core-1.1.2.jar……
28K downloaded
尝试下载 jxta-2.0.jar……
1541K downloaded
尝试下载 activecluster-1.0-SNAPSHOT.jar……
22K downloaded
尝试下载 commons-httpclient-2.0.1.jar……
219K downloaded
尝试下载 xstream-1.0.2.jar……
109K downloaded
尝试下载 xmlpull-1.1.3.4d_b4_min.jar……
23K downloaded
尝试下载 drools-core-2.0-beta-13.jar……
58K downloaded
尝试下载 commons-logging-1.0.3.jar……
30K downloaded
尝试下载 concurrent-1.3.4.jar……
184K downloaded
尝试下载 geronimo-spec-j2ee-1.4-rc2.jar……
449K downloaded
尝试下载 spring-1.1.jar……
1258K downloaded
尝试下载 commons-beanutils-1.6.1.jar……
115K downloaded
尝试下载 howl-logger-0.1.7.jar……
59K downloaded
尝试下载 jdbm-0.20-dev.jar……
84K downloaded
尝试下载 berkeleydb-1.5.1.jar……
578K downloaded
尝试下载 berkeleydb-native-4.2.jar……
159K downloaded
尝试下载 axion-1.0-M3-dev.jar……
487K downloaded
尝试下载 commons-collections-2.1.jar……
161K downloaded
尝试下载 commons-primitives-1.0.jar……
254K downloaded
尝试下载 regexp-1.3.jar……
24K downloaded
尝试下载 log4j-1.2.8.jar……
344K downloaded
尝试下载 jmdns-0.2.jar……
37K downloaded
尝试下载 org.mortbay.jetty-4.2.20RC0.jar……
567K downloaded
尝试下载 jasper-compiler-4.2.20RC0.jar……
178K downloaded
尝试下载 jasper-runtime-4.2.20RC0.jar……
71K downloaded
尝试下载 junit-3.8.1.jar……
118K downloaded
尝试下载 dom4j-1.4-dev-8.jar……
475K downloaded
尝试下载 commons-jelly-20030902.160215.jar……
150K downloaded
尝试下载 commons-jelly-tags-jsl-20030211.143151.jar……
14K downloaded
尝试下载 commons-jelly-tags-log-20030211.142821.jar……
8K downloaded
尝试下载 commons-jelly-tags-velocity-20030303.205659.jar……
7K downloaded
尝试下载 commons-jelly-tags-xml-20040613.030723.jar……
33K downloaded
尝试下载 velocity-1.4-dev.jar……
351K downloaded
尝试下载 velocity-dvsl-0.45.jar……
25K downloaded
尝试下载 xml-apis-1.0.b2.jar……
106K downloaded
尝试下载 isorelax-20030108.jar……
188K downloaded
尝试下载 jing-20030619.jar……
475K downloaded
尝试下载 xerces-2.4.0.jar……
874K downloaded
尝试下载 commons-io-20030203.000550.jar……
59K downloaded
尝试下载 commons-net-1.1.0.jar……
139K downloaded
尝试下载 commons-httpclient-2.0.jar……
217K downloaded
尝试下载 commons-lang-2.0.jar……
165K downloaded
尝试下载 jsch-0.1.5.jar……
79K downloaded
尝试下载 commons-jelly-tags-antlr-20030211.143720.jar……
7K downloaded
尝试下载 antlr-2.7.2.jar……
349K downloaded

编译 test case junit
报告错误

BUILD FAILED
File...... C:/Documents and Settings/Bruce/.maven/cache/maven-test-plugin-1.6.2/
plugin.jelly
Element... fail
Line...... 181
Column.... 54
There were test failures.
Total time: 34 minutes 8 seconds 好家伙,花了我半个小时
Finished at: Tue Oct 19 19:03:56 CST 2004


有一些库在镜像中版本不对。
故修改project.xml,选择镜像中有的版本。

运行 maven eclipse
增加eclipse支持,根据库位置自动生产.projetc等配置文件。

eclipse打开,新建空项目,然后倒入项目文件。
这时,根据配置文件,可以看到,libs都加入到配置中
Eclipse的Preferences – Java - Build Path - Classpath Variables中添加名为MAVEN_REPO的变量,指向D:/java/maven/local/repository。/不过我的机器上却是d:/java/maven/local

eclipse构建出错:
assert rmId != null;
有不少1.4保留字,修改项目属性/Java编译器/
使用项目设置,把编译器改为.class兼容1.4 源码兼容1.4,只能在jdk1.4以上才能跑了。

程序内部有些错误
/activeMQ/src/java/org/codehaus/activemq/gbean/ActiveMQContainerGBean.java

到cvs上看到注释
v1.2删除了这个文件,于是放心删除他,整个程序eclipse构建成功。

其中发现他站点用了个很好的web cvs浏览工具,效果不错
http://www.cenqua.com/fisheye/ good webCVS

-------------------------------------

根据maven.xml中的配置,运行其中的一些test case中的执行程序,试验软件效果

maven server,启服务

maven consumer -Durl=tcp://localhost:61616 调用一个demo中,运行jms消费者实例

maven producer -Durl=tcp://localhost:61616 运行一个jsm产生者实例算是通了。看了半天客户端代码发现:客户端代码使用JNDI,JMS只是定义了一些标准接口,类似JDBC,需要实现者去实现,而且无论是MQ服务器,还是JMS客户端,都需要这些JMS实现代码,(这里需要包含activeMQ的源码)麻烦啊,想用C++作JMS产生者/消费者,估计很麻烦。如果用java和c++互动做消息处理层,也太破费了。

你可能感兴趣的:(MAVEN的配置(自己参考))