我很难让maven-release-plugin与我们的CVS存储库一起工作。希望我错过了一些明显的东西,或者没有人再使用CVS/pserver和Maven2/3了?
第一个问题是scm URL:
maven CVS提供程序声明有效的scm URL如下所示:
scm:cvs<delimiter>pserver<delimiter>[username[<delimiter>password]@]servername[<delimiter>port]<delimiter>path_to_repository<delimiter>module_name所以,我试着
<scm>
<connection>scm:cvs:pserver:cvssserver:/home/cvs/repository/projecta:ejbprojectA</connection>
</scm>它应该是有效的cvs scm url。对于发布插件,我将直接在relase插件配置中设置本地settings.xml中的用户名。发布插件可以正常工作,但这会导致构建maven站点时出错:
[INFO] Username isn't defined.
[INFO] ------------------------------------------------------------------------
[INFO] Trace
java.lang.IllegalArgumentException: Username isn't defined.
at org.apache.maven.scm.provider.cvslib.repository.CvsScmProviderRepository.getCvsRootForCvsPass(CvsScmProviderRepository.java:113)这似乎是scm插件中的一个三年前的错误:http://jira.codehaus.org/browse/SCM-350
添加用户名变量来满足站点插件也不起作用,因为这会在maven-release- plugin中触发另一个(4年前的) bug:http://jira.codehaus.org/browse/MRELEASE-128
如果我使用固定的用户名,我可以让它以某种方式工作,但这并不是真正令人满意。
第二个问题是扁平化的项目结构,maven发布插件似乎无法在上面使用CVS,SVN似乎有一些修复,但这些变化完全破坏了扁平化的cvs结构(项目模块之外的主要pom模块)。
所以,最大的问题是,还有其他人在cvs中使用maven-release-plugin吗?您的设置如何?你是如何处理这些问题的?您是否使用平面项目结构(在eclipse中使用它要方便得多……)?
发布于 2011-01-12 20:26:14
你必须在url中输入一个虚拟用户名,这是可行的。另一种选择是将cvs配置放在开发人员的url中,也许这样就可以了。
发布于 2014-07-08 06:26:08
我使用的是带有CVS的发布插件。
以下是我的版本:
(rdebian-8)
下面是我的scm元素:
<scm>
<connection>scm:cvs:ext:@cvshostname:/path/to/cvsroot/:projectname</connection>
</scm>我用-Dusername=username调用了release:prepare和release:perform
mvn release:perform -Dusername=username
https://stackoverflow.com/questions/4668158
复制相似问题