凭据忽视与家scmchangelog-插件
题
当我配置的 scmchangelog-插件, ,作为书面的实例/教程,并且运行的站点-产生,用户名和密码,我已经设置被忽略。
该文件说,用户名和密码应用于访问供应链管理能配置在件的配置。这看起来是这样的:
<reporting>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>scmchangelog-maven-plugin</artifactId>
<version>1.3</version>
<configuration>
<grammar>REMY</grammar>
<connectionUrl>scm:svn:svn+ssh://repo.lan/repo/project/trunk</connectionUrl>
<username>user</username>
<password>password</password>
</configuration>
</plugin>
</plugins>
</reporting>
当我运行的站点的生(会为了寻求简便的网站),输出的命令行说
[INFO] Executing: /bin/sh -c cd /tmp && svn --username user --password '*****'
--non-interactive list --xml svn+ssh://repo.lan/repo/project/tags/
但我还是输入密码和用户用于访问供应链管理是一个运行的会为了寻求简便的命令。
任何想法什么可能是错的?
更新:
我追查这个问题的svn命令行客户。
问题是,当我运行命令如下
svn list --username foo --password bar --non-interactive svn+ssh://host/repo/project
命令行的工具似乎忽略给出的选择。我仍然怀疑用于一个密码和用户使用的到访问网址是一个人执行该命令,并不一定在选择。
我svn版1.4.6在这里。
任何想法什么可能错在这里?
解决方案
这是一个已知错误。正确的行为。将表明,指出使用像SSH外部认证机制时,而不是默默地忽略那些选项,所述--username
和--password
选项不支持一个错误。
要解决您的问题,通过你的“富”用户名作为网址的一部分:
svn+ssh://foo@host/repo/project
和使用类似的ssh-agent 来缓存您的凭证,从而避免了密码提示
其他提示
你的意思是 scm:changelog
目标 家SCM插件?如果是这种情况下你有两个选择,以确保供应链管理是通过您的凭据。
优选方法
一些 SCM供应商 允许指定设置下面的文件M2_HOME/conf/.供应链管理,例如颠复的是svn-settings.xml 和CVS的是cvs-settings.xml
你SCM提供者的定义应该如何定义的结构设置。对于颠复我结束了一个文件是这样的:
<svn-settings>
<user>[username]</user>
<password>[password]</password>
</svn-settings>
如果需要,可以指定SCM设置文件中另一位通过一项命令行参数的文件:
-Dmaven.scm.svn.config_directory=your_configuration_directory
其他的方法
其他的(期望)的选择是配置 scm
部分POM,使该网址含有用户名和密码。执行,这是特定的供应者,但是通常的一个类似的形式,这个例子中为颠复:
scm:svn:http://[user]:[password]@host/path
所以你scm部分中聚会看起来像这样的东西:
<scm>
<connection>scm:svn:http://[user]:[password]@host/path</connection>
<developerConnection>
scm:svn:http://[user]:[password]@host/path
</developerConnection>
<url>http://somerepository.com/viewsvn</url>
</scm>
这显然是不如你的SCM证书结束了在已安装的POM,你真的应该只有使用这个测试连接在我的意见。欲了解更多信息,请参阅 SCM URL格式 页面和详细的具体 SCM供应商
检查,如果有一个别名重挫你的“SVN”命令的使用。
另外检查目标主机允许密码模式认证。也可能是值得检查桌面上不与一些方便的“钥匙圈剂”乱搞,那些可以使用svn + ssh的干扰。