Java Spring引导类NotFoundException EmbeddedServletContainerCustomizer
我使用的是Spring Boot 1.5.9。当将应用程序打包为可执行war(布局为war)并运行它时,它只适用于mvn spring boot:run。 通过java-jar启动应用程序后,我会得到一个NullPointerException:Java Spring引导类NotFoundException EmbeddedServletContainerCustomizer,java,spring,spring-boot,classnotfoundexception,Java,Spring,Spring Boot,Classnotfoundexception,我使用的是Spring Boot 1.5.9。当将应用程序打包为可执行war(布局为war)并运行它时,它只适用于mvn spring boot:run。 通过java-jar启动应用程序后,我会得到一个NullPointerException: Exception in thread "main" java.lang.NoClassDefFoundError: org/springframework/boot/context/embedded/EmbeddedServletConta
Exception in thread "main" java.lang.NoClassDefFoundError:
org/springframework/boot/context/embedded/EmbeddedServletContainerCustomizer
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:763)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:467)
at java.net.URLClassLoader.access$100(URLClassLoader.java:73)
at java.net.URLClassLoader$1.run(URLClassLoader.java:368)
at java.net.URLClassLoader$1.run(URLClassLoader.java:362)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:361)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335)
at java.lang.ClassLoader.loadClass(ClassLoader.java:411)
at org.springframework.boot.loader.LaunchedURLClassLoader.loadClass(LaunchedURLClassLoader.java:94)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:763)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:467)
at java.net.URLClassLoader.access$100(URLClassLoader.java:73)
at java.net.URLClassLoader$1.run(URLClassLoader.java:368)
at java.net.URLClassLoader$1.run(URLClassLoader.java:362)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:361)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at org.springframework.boot.loader.LaunchedURLClassLoader.loadClass(LaunchedURL ClassLoader.java:94)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:46)
at org.springframework.boot.loader.Launcher.launch(Launcher.java:87)
at org.springframework.boot.loader.Launcher.launch(Launcher.java:50)
at org.springframework.boot.loader.WarLauncher.main(WarLauncher.java:59)
Caused by: java.lang.ClassNotFoundException: org.springframework.boot.context.embedded.EmbeddedServletContainerCustomizer
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 30 more
spring-boot-1.5.9.RELEASE.jar位于WEB-INF/lib中
非常感谢您的帮助
您好,您可以在pom.xml中检查构建部分吗。我使用下面提到的,并且能够在windows中运行:java-jar myapp.jar只需确保您正在创建一个可执行的jar即可。
<build>
<finalName>${artifactId}</finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<executable>true</executable>
</configuration>
</plugin>
</plugins>
</build>
${artifactId}
org.springframework.boot
springbootmaven插件
真的
非常感谢您的回复。我在pom.xml中有这个插件,但问题是我指定了
<layout>WAR</layout>
战争
在我的pom里。当我把它改成
<layout>ZIP</layout>
ZIP
成功了:)您必须添加redis依赖项:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
org.springframework.boot
spring启动程序数据redis
您好,我想知道您解决了这个问题吗?我现在也有同样的问题