Discuss / Java / 关于main.java的理解

关于main.java的理解

Topic source

月帝魅晨

#1 Created at ... [Delete] [Delete and Lock User]

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/

这样搞的我也有点糊涂了。

廖雪峰

#2 Created at ... [Delete] [Delete and Lock User]

别用自己的结果解释原因。

你自己把源码目录改乱了,Maven默认的源码目录是src/main/java,Main的类名是啥就写啥


  • 1

Reply