java.lang.NoClassDefFoundError: org/apache/maven/shared/invoker/MavenInvocationException
跪了,Java11,Maven从3.5.2升级到3.6.3还是不行,没有一点头绪。这是看的maven官方文档的入门,真服。
mvn archetype:generate -DgroupId=com.mycompany.app -DartifactId=my-app -DarchetypeArtifactId=maven-archetype-quickstart -DarchetypeVersion=1.4 -DinteractiveMode=false
这是官方5分钟入门maven的文档,我40分钟都被卡在这里,真是怒火中烧。
找到此类的包,然后又根据别人文章中这个包所属的jar为
org\apache\maven\shared\maven-invoker\3.0.1\maven-invoker.jar
然后把3.0.1这个目录删除掉,重新执行maven命令。好了,错误变化了。
Caused by: java.lang.ClassNotFoundException: org.apache.maven.shared.transfer.artifact.resolve.ArtifactResolverException
这说明上面的删除有效,是因为jar包不正确。回想删之前的maven-invoker.jar,用winRAR打开时会提示找不到结构。看来就是jar包下载不完整。真不知道这是哪里的问题。maven下载机制还是华为云的maven仓库的问题。对比两次jar包,大小竟然是一致的。fuck!!
明天继续吧,累了。
2021.3.27继续。
用二进制打开,两个jar的大小完全一样,然而第一个jar中的字节全TMD是零。
莫名其妙的bug。
接着找,org.apache.maven.shared.transfer.artifact.resolve.ArtifactResolverException这个类找到,下面这个jar包,16进制打开,果然也是全0。
org\apache\maven\shared\maven-artifact-transfer\0.12.0\maven-artifact-transfer-0.12.0.jar
于是考虑把shared包删了,整个shared包重新下载。终于一遍成功!