java.lang.ClassNotFoundException: org.springframework.context.event.GenericApplicationListener
丈夫欲遂平生志,一载寒窗一举汤。这篇文章主要讲述java.lang.ClassNotFoundException: org.springframework.context.event.GenericApplicationListener相关的知识,希望能为你提供帮助。
http://www.cnblogs.com/softidea/p/6064091.html
Caused by: java.lang.NoClassDefFoundError: org/springframework/context/event/GenericApplicationListener From the above error, application is unable to find the class defined from the jar dependencies. GenericApplicationListener is added from spring version 4.2.
Upgrade your spring version to 4.2 and recheck.
http://stackoverflow.com/questions/31489947/noclassdeffounderror-genericapplicationlistener-when-switching-from-spring-bo
Spring Boot manages a bunch of dependencies for you and
allows you to add them without specifying the version. Spring Boot is obviously based on Spring Framework and uses the latest and greatest so you should avoid at all cost to fix the spring framework version to use yourself.
If you have upgraded to a newer version (to include a bug fix or something) make sure to
remove the override
before you upgrade Spring Boot as the new version it requires may be incompatible with your override.
If you are using other projects that
also
provide a dependency management on Spring Framework (such as Spring Cloud) make sure that the dependency management of Spring Boot takes precedence. With Maven, make sure to add the
spring-boot-dependencies
BOM as
the
first entry
in the
<
dependenciesManagement>
section.
http://stackoverflow.com/questions/31489947/noclassdeffounderror-genericapplicationlistener-when-switching-from-spring-bo
13.2
MavenMaven users can inherit from the
spring-boot-starter-parent
project to obtain sensible defaults. The parent project provides the following features:
- Java 1.6 as the default compiler level.
- UTF-8 source encoding.
- A
Dependency Management section, allowing you to omit
< version>
tags for common dependencies, inherited from thespring-boot-dependencies
POM. - Sensible resource filtering.
- Sensible plugin configuration (exec plugin, surefire, Git commit ID, shade).
- Sensible resource filtering for
application.properties
andapplication.yml
including profile-specific files (e.g.application-foo.properties
andapplication-foo.yml
)
${…?}
) the Maven filtering is changed to use
@..@
placeholders (you can override that with a Maven property
resource.delimiter
).13.2.1 Inheriting the starter parent
To configure your project to inherit from the
spring-boot-starter-parent
simply set the
parent
:< !-- Inherit defaults from Spring Boot --> < parent> < groupId> org.springframework.boot< /groupId> < artifactId> spring-boot-starter-parent< /artifactId> < version> 1.4.2.RELEASE< /version> < /parent>
You should only need to specify the Spring Boot version number on this dependency. If you import additional starters, you can safely omit the version number. |
pom.xml
.< properties> < spring-data-releasetrain.version> Fowler-SR2< /spring-data-releasetrain.version> < /properties>
Check the
spring-boot-dependencies
pom
for a list of supported properties. |
Not everyone likes inheriting from the
spring-boot-starter-parent
POM. You may have your own corporate standard parent that you need to use, or you may just prefer to explicitly declare all your Maven configuration.If you don’t want to use the
spring-boot-starter-parent
, you can still keep the benefit of the dependency management (but not the plugin management) by using ascope=import
dependency:< dependencyManagement> < dependencies> < dependency> < !-- Import dependency management from Spring Boot --> < groupId> org.springframework.boot< /groupId> < artifactId> spring-boot-dependencies< /artifactId> < version> 1.4.2.RELEASE< /version> < type> pom< /type> < scope> import< /scope> < /dependency> < /dependencies> < /dependencyManagement>
That setup does not allow you to override individual dependencies using a property as explained above. To achieve the same result, you’d need to add an entry in the
dependencyManagement
of your project
before
the
spring-boot-dependencies
entry. For instance, to upgrade to another Spring Data release train you’d add the following to your
pom.xml
.< dependencyManagement> < dependencies> < !-- Override Spring Data release train provided by Spring Boot --> < dependency> < groupId> org.springframework.data< /groupId> < artifactId> spring-data-releasetrain< /artifactId> < version> Fowler-SR2< /version> < scope> import< /scope> < type> pom< /type> < /dependency> < dependency> < groupId> org.springframework.boot< /groupId> < artifactId> spring-boot-dependencies< /artifactId> < version> 1.4.2.RELEASE< /version> < type> pom< /type> < scope> import< /scope> < /dependency> < /dependencies> < /dependencyManagement>
In the example above, we specify a
BOM
but any dependency type can be overridden that way. |
The
spring-boot-starter-parent
chooses fairly conservative Java compatibility. If you want to follow our recommendation and use a later Java version you can add a
java.version
property:< properties> < java.version> 1.8< /java.version> < /properties>
13.2.4 Using the Spring Boot Maven plugin
Spring Boot includes a Maven plugin that can package the project as an executable jar. Add the plugin to your
<
plugins>
section if you want to use it:< build> < plugins> < plugin> < groupId> org.springframework.boot< /groupId> < artifactId> spring-boot-maven-plugin< /artifactId> < /plugin> < /plugins> < /build>
If you use the Spring Boot starter parent pom, you only need to add the plugin, there is no need for to configure it unless you want to change the settings defined in the parent. |
推荐阅读
- android7.0 编译问题及解决
- 深入浅出 - Android系统移植与平台开发- Android系统的定制
- android中的Intent窗体活动穿梭
- Android实战简易教程-第七十二枪(PopupWindow浮动窗)
- dopdf怎样用?dopdf虚拟打印机的运用办法介绍_其它办公
- dopdf怎样用?dopdf的基础运用图文详细教程_其它办公
- dopdf安装之后在电脑里找不到怎样办?_其它办公
- dopdf安装不上怎样办?dopdf安装不上的处理办法_其它办公
- 福昕浏览器4组最新的注册码与注册办法_其它办公