如何将CVS与maven-release-plugin一起使用?

mgl*_*che 5 java cvs build-process maven-2

我很难让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
Run Code Online (Sandbox Code Playgroud)

所以,我正在努力

<scm>
    <connection>scm:cvs:pserver:cvssserver:/home/cvs/repository/projecta:ejbprojectA</connection>
</scm>
Run Code Online (Sandbox Code Playgroud)

这应该是一个有效的cvs scm url.对于release-plugin,我将直接在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)
Run Code Online (Sandbox Code Playgroud)

这似乎是scm插件中的一个三岁的bug:http://jira.codehaus.org/browse/SCM-350

添加用户名变量以满足网站插件也不起作用,因为这会触发maven-release-plugin中的另一个(4岁)错误:http://jira.codehaus.org/browse/MRELEASE-128

如果我使用固定的用户名,我可以得到它以某种方式工作,但这不是真的令人满意.

第二个问题是平面项目结构,maven发布插件似乎无法与它们一起使用CVS,似乎有一些SVN的修复,但这些更改完全打破了平坦的cvs结构(项目模块旁边的主pom模块)

所以,最大的问题是,是否有其他人使用带有cvs的maven-release-plugin?你的设置如何?你是如何处理这些问题的?你是否使用平面项目结构(在eclipse中使用它更方便......)?

Sal*_*dur 1

你必须在网址中输入一个虚拟用户名,然后它就可以工作了。另一种选择是将 cvs 配置放在开发人员 url 中,也许这样就可以了。