mvn archetype:创建SHA-256 MessageDigest不可用

时间:2016-12-29 04:56:24

标签: maven-3

这是我第一次尝试var crypt= require('./package path/md5'); var hash= crypt.MD5('Message'); console.log(hash.toString(crypt.enc.Base64)); 。我在maven的操作系统。我已成功安装maven。

  

mvn -v

     

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

但是当我使用linuxmint

  

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不可用     at org.sonatype.plexus.components.cipher.DefaultPlexusCipher。(未知来源)     找到org.sonatype.plexus.components.cipher.DefaultPlexusCipher

太奇怪了,我该怎么办?

1 个答案:

答案 0 :(得分:1)

我想也许你已经解决了你的问题。但我昨天得到了这个bug,今天我修好了。我应该写下我的解决方案。也许有人会陷入这个陷阱。

实际上这个问题是因为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文件替换)。