Maven的使用方法:在服务器上进行自动编译时的发布(deploy)

使用maven管理项目,服务器组织结构为: 

公网服务器 http://maven.marsorstudio.cn,使用teamcity进行自动编译、发布maven项目组件。并作为svn服务器管理团队源码。

个人开发终端 ${user.home}/.m2/repository/或者是在settings.xml中配置的repository路径,作为开发时的依赖库。

开始的时候,我们在个人终端进行编译、测试。当组件很多时,可能会一个个组件进行   mvn:install ,发布临时snapshot到本地的repository库中。测试通过后,在服务器端使用teamcity进行 mvn:install,保存到服务器的 maven.marsorstudio.cn 中去。但是由于是install,发布的组件版本又是snapshot的,所以仅能够进行覆盖操作,服务器上永远只有一个jar文件。当在本地进行新工程、更新源码的时候,如果本地库中没有该组件,是完全可以从服务器上的对应路径中找到组件的。但是如果服务器上的版本进行了更新,此时本地库中存在一个对应组件的jar包,而maven查找更新的方法是在服务器上查找 maven-metadata.xml ,此时服务器上没有这个文件。导致无法更新服务器上的最新组件。

此时才翻过头来研究maven的deploy功能。因为我们使用的是teamcity在服务器上进行最新svn代码的下载、编译、打包。也就是执行mvn:xxxx命令进行发布。网上搜索到的相关文章都是使用ftp\scm\sftp进行远程发布的,于是摸索进行,查找官方网站,发现maven:deploy插件可以进行url的配置,使用file://协议,于是配置,按照官方网站进行配置:<url>file://我的路径</url>,但是此时出现问题,无论路径的配置方式是windows(F:\myMavenRepo),还是Unix形式(F:/myMavenRepo)都不能正常进行deploy。百思不得其解,maven报错也很诡异,说是无法格式化数字。。。。。NumberFormatException,我就日。研究很长时间,猜测是路径中的“:”的问题,于是添加引号<url>“file://我的路径"</url>,测试,不通过。于是再改:<url>file://"我的路径"</url>,测试,成功!!!!修改我的路径为UNIX和Windows分别尝试,都没有问题。---问题解决。

环境:java 1.6.20  Maven3.0.1  Eclipse Hellios ,最新的Eclipse Maven插件。

总结:windows的引号很重要,哈哈。

转载于:https://www.cnblogs.com/qianxuechao/archive/2011/03/23/2042499.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值