Java Maven svn:E215004:身份验证失败,交互提示被禁用;请参见--force交互选项
当我尝试执行Java Maven svn:E215004:身份验证失败,交互提示被禁用;请参见--force交互选项,java,eclipse,maven,svn,tortoisesvn,Java,Eclipse,Maven,Svn,Tortoisesvn,当我尝试执行mvn发行版:perform时,我得到了这个错误 [ERROR] Provider message: [ERROR] The svn command failed. [ERROR] Command output: [ERROR] svn: E215004: Authentication failed and interactive prompting is disabled; see the --force-interactive option svn: E215004: Commi
mvn发行版:perform
时,我得到了这个错误
[ERROR] Provider message:
[ERROR] The svn command failed.
[ERROR] Command output:
[ERROR] svn: E215004: Authentication failed and interactive prompting is disabled; see the --force-interactive option
svn: E215004: Commit failed (details follow):
svn: E215004: No more credentials or we tried too many times.
Authentication failed
svn: E215004: Additional errors:
svn: E215004: No more credentials or we tried too many times.
Authentication failed
所以我想我的pom可能有问题。所以我试着去做
mvn scm:checkin -Dmessage="relase" -Dusername=<username> -Dpassword=<password>.
mvn scm:checkin-Dmessage=“relase”-Dusername=-Dpassword=。
我在pom中有以下与scm相关的部分:
<scm>
<url>url</url>
<connection>scm:svn:url</connection>
<developerConnection>scm:svn:url</developerConnection>
</scm>
网址
scm:svn:url
scm:svn:url
但我还是犯了同样的错误
我在eclipse中安装了subclipse。我的机器上安装了collabnet和tortoise SVN。都是1.8.1版本。当我尝试使用团队-->提交直接从eclipse签入时,我能够使用相同的凭据进行提交。此外,我还可以使用Ortoisesvn提供的相同凭据进行提交。但是使用相同的凭据,我无法从maven中释放perform或scm签入。我看到一些关于${user.home}.scm\svn-settings.xml的链接,我们可以在其中配置交互式svn。但我在我的机器上看不到它。我看不到.scm文件夹本身。我做错什么了吗
这些是我在eclipse中安装的软件
Collabnet合并客户端-4.0.2
第1.10.4小节
Subclipse客户端适配器-1.10.1
Subversion JavaHL本机库适配器-1.8.8.1我唯一看到这篇文档的地方是Maven发行版插件FAQ。您可以将
服务器条目添加到POM中,然后配置项目以使用它
<!-- Project POM, or a corporate parent -->
<properties>
<project.scm.id>my-scm-server<project.scm.id>
</properties>
<!-- User's settings.xml file -->
<server>
<id>my-scm-server</id>
<username>username</username>
<password>password</password> <!-- encrypted I hope! -->
</server>
我的scm服务器
我的scm服务器
用户名
密码
我找不到这方面的参考(也许我看了源代码),但有一次我发现,如果您将ID设置为Subversion主机,那么服务器信息将由许多插件定位,包括release和scm。它看起来是这样的:
<!-- Project POM, or a corporate parent -->
<properties>
<project.scm.id>your.subversion.host<project.scm.id> <!-- note, no scm:svn part -->
</properties>
<!-- User's settings.xml file -->
<server>
<id>your.subversion.host</id>
<username>username</username>
<password>password</password> <!-- encrypted I hope! -->
</server>
您的.subversion.host
您的.subversion.host
用户名
密码
Subversion实际上从1.6.x变为1.8.x。此问题可能是由于此原因(尤其是使用Windows+Active Directory时)
如果从eclipse调用maven,它会尝试不使用Subclipse访问SVN。假设您甚至使用了外部Maven安装。此外部安装不知道您的Eclipse/Subclipse,因此会调用平台上可用的SVN(取决于Windows路径变量)。此SVN for不知道您的Eclipse,因此必须从其他地方获取凭据(例如%USER%\AppData\Roaming\Subversion\auth)。不幸的是,从SVN协议1.6版开始,maven发布插件似乎已经出现了一些问题
目前还没有最好的解决方案,也不清楚到底是什么原因导致maven发布插件失败。最好的解决方法可能是在Eclipse运行配置中提供凭据(JRE选项卡,然后参数Dusername=…-Dpassword=…)
我建议不要将凭据存储在可能被他人意外利用的地方。我尝试了settings.xml方法。我使用mvn-emp和mvn-ep加密了密码。它正在检测用户名。所以我使用了mvn scm:checkin-Dmessage=“”,没有提到用户名和密码。它检测到用户名,但仍然给出相同的错误。您使用的是我显示的顶部块,还是底部块?在你的情况下,我会试试最下面的那个。另外,您是否记得创建包含加密主密码的~/.m2/settings-security.xml文件?我曾经帮助过一些人,他们因为某种原因错过了这一步,尽管这一步显然已经在我的脑海中。我使用了最下面的一步。我创建了settings-security.xml并将其放在~/.m2/settings-security.xml中。它不起作用。它给出了同样的错误。你使用的是最新版本的maven发布插件吗?如果没有,请更新并重试。