【问题标题】:mvn archetype:create SHA-256 MessageDigest not availablemvn archetype:create SHA-256 MessageDigest 不可用
【发布时间】:2016-12-29 04:56:23
【问题描述】:

这是我第一次尝试maven。我的操作系统在linuxmint。我已经安装maven成功了。

mvn -v

Apache Maven 3.3.9 (bb52d8502b132ec0a5a3f4c09453c07478323dc5; 2015-11-11T00:41:47+08:00) Maven 主页:/home/gzx/danale/environment/apache-maven-3.3.9 Java 版本:1.8.0_111,供应商:甲骨文公司 Java 主页:/usr/java/jdk1.8.0_111/jre 默认语言环境:zh_CN,平台编码:UTF-8 操作系统名称:“linux”,版本:“4.4.0-53-generic”,arch:“amd64”,家族:“unix”

但是当我用过mvn archetype:create

mvn archetype:create -DgroupId=org.sonatype.mavenbook.ch03 -DartifactId=simple -DpackageName=org.sonatype.mavenbook

它显示了一个奇怪的错误。

[警告] 注入错误:org.sonatype.plexus.components.cipher.DefaultPlexusCipher com.google.inject.ProvisionException:无法配置,请参阅以下错误:注入构造函数时出错,org.sonatype.plexus.components.cipher.PlexusCipherException:java.security.NoSuchAlgorithmException:SHA-256 MessageDigest 不可用 在 org.sonatype.plexus.components.cipher.DefaultPlexusCipher.(未知来源) 同时定位 org.sonatype.plexus.components.cipher.DefaultPlexusCipher

太奇怪了,我该怎么办?

【问题讨论】:

  • 在使用 'mvn archetype:create' 时是否调用 SHA-256 MessageDigest ?但是我的java环境有一点错误,jdk的版本不是很旧。所以这个问题真的很奇怪。

标签: maven-3


【解决方案1】:

我想也许你已经发现了你的问题。但是我昨天得到了这个错误,我今天修复了它。我应该写下我的解决方案。也许有人会掉进这个陷阱。

其实这个问题是因为Java找不到类“SHA-256 MessageDigest”。但它是由 JRE 默认提供的。应该会自动找到。

如果您访问您的 JAVA_HOME,您可能会在 JAVA_HOME/jre/lib 中找到一个名为 jsse.pack 的文件,并且没有名为 jsse.jar 的文件。那就是问题所在。输入

unpack200 jsse.pack jsse.jar 

(一旦您设置了 Java 路径,unpack200 就会被识别)

应该解决这个问题。

注意: 一些JDK有jsse.rar而不是jsse.pack,因此,运行“unpack200 jsse.rar jsse.jar”命令会得到想要的结果,并且不会删除“jsse.rar”文件(如果是*.pack文件,它们被 *.jar 文件替换)。

【讨论】:

  • 还是谢谢你!您的解决方案可能有效,但我发现推荐使用 mvn archetype:generate,而 mvn archetype:create 已被放弃。
  • 对我来说(在 Java 1.8 中),我没有带有“pack”扩展名的 jsse 文件,只有“rar”扩展名。运行“unpack200 jsse.rar jsse.jar”就可以了。为我解决了问题。
猜你喜欢
  • 2013-06-04
  • 1970-01-01
  • 1970-01-01
  • 2011-07-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-08-19
相关资源
最近更新 更多