【发布时间】:2023-03-07 17:49:01
【问题描述】:
我很难让 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。对于发布插件,我将直接在发布插件配置中的本地 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 年前)错误:http://jira.codehaus.org/browse/MRELEASE-128
如果我使用固定的用户名,我可以让它以某种方式工作,但这并不令人满意。
第二个问题是扁平的项目结构,maven 发布插件似乎无法在它们上使用 CVS,似乎有一些针对 SVN 的修复,但这些更改完全破坏了扁平 cvs 结构(项目模块旁边的主 pom 模块)
那么,最大的问题是,还有其他人使用 maven-release-plugin 和 cvs 吗?你的设置如何?你如何处理这些问题?您是否完全使用平面项目结构(在 eclipse 中使用更方便......)?
【问题讨论】:
标签: java maven-2 build-process cvs