删除maven-jar-plugin并执行Maven Clean后抛出ClassNotFoundException求助
解决方案
1. 重新生成编译产物
执行Maven编译命令,重新生成.class文件到Target目录:
mvn compile
如果需要同时生成可执行Jar包,直接执行打包命令:
mvn package
在NetBeans 13中,也可以右键项目 → 运行Maven → compile,或者点击工具栏的Build按钮完成编译。
2. 修复主类配置(若需生成可执行Jar)
如果需要项目打包后可直接运行,建议重新添加maven-jar-plugin配置,注意mainClass必须填写全限定类名(比如你的Log_In类在com.hotel包下,需写成com.hotel.Log_In):
<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <version>3.2.2</version> <configuration> <archive> <manifest> <addClasspath>true</addClasspath> <mainClass>你的全限定主类名</mainClass> </manifest> </archive> </configuration> </plugin> </plugins> </build>
3. 检查NetBeans运行配置
确保NetBeans的项目运行配置指定了正确的主类:
- 右键项目 → 属性 → 运行
- 在「主类」选项中选择或手动输入正确的全限定类名
问题根源
- Maven
clean目标的核心作用就是删除Target目录下所有内容,这是正常机制,执行后必须重新编译才能生成.class文件。 ClassNotFoundException本质是Target目录无编译产物,或运行时指定的主类名称不完整(缺少包名)。
内容的提问来源于stack exchange,提问作者Ralph Daniel Honra
相关产品推荐
相关产品推荐

