Maven的使用方法:在服务器上进行自动编译时的发布(deploy)
2011-03-23 16:23
393 查看
使用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的引号很重要,哈哈。
公网服务器 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的引号很重要,哈哈。
相关文章推荐
- Reporting Service Tips 101(#1) - 使用RSS在指定的服务器上自动进行ReportingService报表发布
- Maven 编译不通过 简单clean 解决方案、 war包工程依赖的方法要使用deploy,否则报classNotFound
- 【maven】之使用tomcat7-maven-plugin自动编译的问题
- maven编译指定使用自己配置的jdk而不是eclipse自带的解决方法
- VS2005(excel2007)利用Automation(OLD Automation)方法。将Excel当成组件服务器的编译错误 我的系统盘和office都装在d盘。 自动生成的import有问题
- 使用PowerShell 自动从SVN服务器获取最新版本并编译解决方案(TortoiseSVN)
- 关于使用Makefile进行GCC编译报错问题解决方法
- Linux下搭建SVN服务器及自动更新项目文件到web发布目录(wwwroot)的方法
- 使用 maven 自动将源码打包并发布
- 使用Maven进行项目发布介绍
- Jenkins自动编译发布java工程的方法
- 使用maven命令发布第三方jar到自己的maven服务器上
- eclipse(Mars)在运行Maven项目时,不能自动编译,解决方法如下:
- 在Eclipse使用Maven自动打包部署到服务器上
- Java开发流程自动化(svn+maven+nexus+jenkins) --自动编译,持续集成,测试,打包,发布/部署
- MAVEN发布固定版本(不需要更改pom更新依赖的方法) -- 自动更新SNAPSHOT
- QTcpSocket 对连接服务器中断的不同情况进行判定(六种情况,其中一种使用IsNetworkAlive API方法)
- 使用cargo-maven2-plugin插件自动化发布到Tomcat服务器
- 全自动的使用ANT编译,打包EJB项目,并且部署到Websphere服务器上面
- 对BCB进行发布编译或调试编译的设置方法