This is my first time to try maven
. My os in linuxmint
.I have install maven successful.
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 version: 1.8.0_111, vendor: Oracle Corporation Java home: /usr/java/jdk1.8.0_111/jre Default locale: zh_CN, platform encoding: UTF-8 OS name: "linux", version: "4.4.0-53-generic", arch: "amd64", family: "unix"
But when I have used mvn archetype:create
mvn archetype:create -DgroupId=org.sonatype.mavenbook.ch03 -DartifactId=simple -DpackageName=org.sonatype.mavenbook
it showed a strange error.
[WARNING] Error injecting: org.sonatype.plexus.components.cipher.DefaultPlexusCipher com.google.inject.ProvisionException: Unable to provision, see the following errors:Error injecting constructor, org.sonatype.plexus.components.cipher.PlexusCipherException: java.security.NoSuchAlgorithmException: SHA-256 MessageDigest not available at org.sonatype.plexus.components.cipher.DefaultPlexusCipher.(Unknown Source) while locating org.sonatype.plexus.components.cipher.DefaultPlexusCipher
It was so strange, how should I do?
I think maybe you have already figured your problem. But I got this bug yesterday and I fixed it today. I should write my solution down. Maybe someone will fall this trap.
Actually this problem is because Java cannot find the class "SHA-256 MessageDigest". But it is provided by JRE default. It should be found automatically.
If you access your JAVA_HOME, you may find a file whose name is jsse.pack in JAVA_HOME/jre/lib, and there is not a file named jsse.jar. That is the problem. Type
unpack200 jsse.pack jsse.jar
(unpack200 will be recognized as soon as you have set your Java path)
and the problem should be soloved.
Note: Some JDK's have jsse.rar not jsse.pack, therefore, running "unpack200 jsse.rar jsse.jar" command will get the desired result, and will not delete the "jsse.rar" file (in case of *.pack files, they get replaced by the *.jar files).