尝试在 cmd 中调用 mvn --encrypt-password 密码时,出现此错误:
[ERROR] Error executing Maven.
[ERROR] java.io.EOFException: input contained no data
[ERROR] Caused by: input contained no data
当我调用 mvn --encrypt-master-password somepass 时,它正常执行。有人可以帮我解决这个问题,或者我如何打印整个堆栈跟踪来查找错误。
提前致谢。
您需要先创建一个主密码。如果您按照教程此处进行操作,则无法跳过创建主密码的步骤(就像我一样),否则您将收到上述错误。
运行命令:
mvn --encrypt-master-password
根据提示输入您的主密码。将该命令的输出输入到您的
${user.home}/.m2/settings-security.xml
文件中,如下所示
<settingsSecurity>
<master>{jSMOWnoPFgsHVpMvz5VrIt5kRbzGpI8u+9EF1iFQyJQ=}</master>
</settingsSecurity>
现在,您的
mvn --encrypt-password <yourPassword>
命令应该可以工作了。
org.sonatype.plexus.components.sec.dispatcher.SecDispatcherException: java.io.EOFException: input contained no data
at org.sonatype.plexus.components.sec.dispatcher.SecUtil.read (SecUtil.java:66)
at org.apache.maven.cli.MavenCli.encryption (MavenCli.java:924)
at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:291)
at org.apache.maven.cli.MavenCli.main (MavenCli.java:196)
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke (Method.java:566)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:282)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:225)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:406)
at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:347)
settings-security.xml 未在 mxparser 中解析,请在 settings-security.xml 中添加 xml 标头
<?xml version="1.0" encoding="UTF-8"?>
,它将解决问题。