我有一个正在工作的Spring Boot应用程序。
我做了
mvn clean package
jar文件是我的目标文件夹。
然后我尝试执行以下命令:
java -jar .\target\my-application-0.0.1-SNAPSHOT.jar
我得到以下错误:
Exception in thread "main" java.lang.ClassNotFoundException: C:\Users\test\example-application\example-app/src/main/test/ExampleApplication
at java.base/java.lang.Class.forName0(Native Method)
at java.base/java.lang.Class.forName(Class.java:467)
at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:46)
at org.springframework.boot.loader.Launcher.launch(Launcher.java:108)
at org.springframework.boot.loader.Launcher.launch(Launcher.java:58)
at org.springframework.boot.loader.JarLauncher.main(JarLauncher.java:65)
研究stackoverflow只是推荐一个我已经包含的问题…建议包含这个插件,以便将maven jar包含在项目中…. spring-boot-maven-plugin
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
它不起作用的原因还有什么?
异常中的类名是文件名而不是类名。这让我怀疑您错误地指定了主类。您是否在spring-boot-maven-plugin中指定了类名
<configuration>
<mainClass>foo.bar.ExampleApplication</mainClass>
</configuration>
还是作为清单中的主类?请注意,您应该对包使用点表示法…
几周前我遇到了类似的问题。Spring会在/src/main
文件夹中查找大多数类的源代码。看起来您缺少该文件夹中的文件。就我而言,我只将其放在/src
而不是/src/main
中