maven项目默认的包名就会加入main.java两个层级,所以按理来讲,
<configuration> <transformers> <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer"> <mainClass>com.itranswarp.learnjava.Main</mainClass> </transformer> </transformers> </configuration>
中的:
com.itranswarp.learnjava.Main
应为:
main.java.com.itranswarp.learnjava.Main
才对,不然编译器会报
Exception in thread "main" java.lang.NoClassDefFoundError
错误,我这边是这样。但我在别的教程里也确实看到不需要写上main.java这两个层级的,比如这个链接:https://spring.io/guides/gs/maven/。
这样搞的我也有点糊涂了。
别用自己的结果解释原因。
你自己把源码目录改乱了,Maven默认的源码目录是src/main/java,Main的类名是啥就写啥
Sign in to make a reply
月帝魅晨
maven项目默认的包名就会加入main.java两个层级,所以按理来讲,
中的:
应为:
才对,不然编译器会报
错误,我这边是这样。但我在别的教程里也确实看到不需要写上main.java这两个层级的,比如这个链接:https://spring.io/guides/gs/maven/。
这样搞的我也有点糊涂了。