Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Maven svn:E215004:身份验证失败,交互提示被禁用;请参见--force交互选项_Java_Eclipse_Maven_Svn_Tortoisesvn - Fatal编程技术网

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发布插件吗?如果没有,请更新并重试。