java.lang.NoClassDefFoundError : org/apache/commons/lang/text/StrLookup Exception While Running Spring Boot Application

标签 java spring maven spring-mvc

这是我的 POM.XML

<parent>
    <groupId>com.vonage.gunify</groupId>
    <artifactId>gunify-ext-services-parent</artifactId>
    <version>2016.7.0-RELEASE</version>
    <relativePath>../pom.xml</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>gunify-ext-services</artifactId>
<name>gunify-ext-services</name>
<packaging>jar</packaging>

<dependencies>

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
        <groupId>org.jadira.usertype</groupId>
        <artifactId>usertype.jodatime</artifactId>
        <version>2.0.1</version>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-actuator</artifactId>
    </dependency>
    <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-lang3</artifactId>
        <version>3.4</version>
    </dependency>
    <dependency>
        <groupId>org.apache.httpcomponents</groupId>
        <artifactId>httpcore</artifactId>
    </dependency>
    <dependency>
        <groupId>org.apache.httpcomponents</groupId>
        <artifactId>httpclient</artifactId>
    </dependency>
    <dependency>
        <groupId>io.springfox</groupId>
        <artifactId>springfox-swagger2</artifactId>
        <version>2.6.0</version>
    </dependency>
    <dependency>
        <groupId>io.springfox</groupId>
        <artifactId>springfox-swagger-ui</artifactId>
        <version>2.6.0</version>
    </dependency>
    <dependency>
        <groupId>joda-time</groupId>
        <artifactId>joda-time</artifactId>
    </dependency>
    <dependency>
        <groupId>javax.ws.rs</groupId>
        <artifactId>jsr311-api</artifactId>
        <version>1.1.1</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>commons-io</groupId>
        <artifactId>commons-io</artifactId>
        <version>2.4</version>
    </dependency>
    <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-context-support</artifactId>
    </dependency>
    <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-aop</artifactId>
    </dependency>
    <dependency>
   <groupId>org.springframework</groupId>
   <artifactId>spring-orm</artifactId>
    </dependency>
    <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-context</artifactId>
    </dependency>
    <dependency>
    <groupId>org.springframework.data</groupId>
   <artifactId>spring-data-jpa</artifactId>
   </dependency>
   <dependency>
   <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter</artifactId>
    <exclusions>
            <exclusion>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-logging</artifactId>
            </exclusion>
    </exclusions>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-log4j2</artifactId>
    </dependency>
    <dependency>
        <groupId>com.googlecode.json-simple</groupId>
        <artifactId>json-simple</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.data</groupId>
        <artifactId>spring-data-commons</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-security</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-configuration-processor</artifactId>
        <optional>true</optional>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-mongodb</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.security.oauth</groupId>
        <artifactId>spring-security-oauth2</artifactId>
    </dependency>
    <dependency>
        <groupId>io.jsonwebtoken</groupId>
        <artifactId>jjwt</artifactId>
        <version>0.4</version>
    </dependency>
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-hystrix-dashboard</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.security</groupId>
        <artifactId>spring-security-jwt</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-zuul</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-mongodb</artifactId>
    </dependency>
</dependencies>
<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>

        <plugin>
            <groupId>pl.project13.maven</groupId>
            <artifactId>git-commit-id-plugin</artifactId>
        </plugin>
    </plugins>
</build>

还有我的父 pom.xml

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.3.6.RELEASE</version>
    <relativePath /> <!-- lookup parent from repository -->
</parent>

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <java.version>1.8</java.version>
    <tomcat.version>8.0.3</tomcat.version>
</properties>

<modules>
    <module>gunify-ext-services</module>
    <module>dist</module>
</modules>

<pluginRepositories>
    <pluginRepository>
        <id>VSLPluginRepo</id>
        <name>Vonage Service Layer Repository</name>
        <url>http://maven.dev.s.vonagenetworks.net:8080/nexus-webapp/content/repositories/VSL/</url>
    </pluginRepository>
</pluginRepositories>
<repositories>
    <repository>
        <releases>
            <enabled>true</enabled>
            <!-- <updatePolicy>always</updatePolicy> -->
        </releases>
        <id>VSL</id>
        <name>Vonage Service Layer Repository</name>
        <url>http://maven.dev.s.vonagenetworks.net:8080/nexus-webapp/content/repositories/VSL/</url>
        <!-- <url>http://devserver-308.dev.s.vonagenetworks.net:7001/nexus-webapp/content/repositories/VSL/</url> -->
    </repository>
    <repository>
        <releases>
            <enabled>true</enabled>
        </releases>
        <id>VONAGE-M2</id>
        <name>Vonage M2 Repository</name>
        <url>http://maven.dev.s.vonagenetworks.net:8080/nexus/content/repositories/Vonage-m2/</url>
    </repository>
    <repository>
        <id>com.springsource.repository.bundles.release</id>
        <name>SpringSource Enterprise Bundle Repository - SpringSource Bundle Releases</name>
        <url>http://repository.springsource.com/maven/bundles/release</url>
    </repository>
    <repository>
        <id>com.springsource.repository.bundles.external</id>
        <name>SpringSource Enterprise Bundle Repository - External Bundle Releases</name>
        <url>http://repository.springsource.com/maven/bundles/external</url>
    </repository>
    <repository>
        <id>org.springframework.data</id>
        <name>Spring Data module for JPA repositories</name>
        <url>https://mvnrepository.com/artifact/org.springframework.data/spring-data-jpa</url>
    </repository>
    <repository>
        <id>JBossRepo</id>
        <url>https://repository.jboss.org/nexus/content/groups/public/</url>
    </repository>
    <repository>
        <releases>
            <enabled>true</enabled>
        </releases>
        <snapshots>
            <enabled>true</enabled>
        </snapshots>
        <id>vonage.maven1</id>
        <name>Vonage Maven1 Shadow Repository</name>
        <url>http://maven.dev.s.vonagenetworks.net:8080/nexus-webapp/content/shadows/Vonage-m1-m2/</url>
    </repository>
    <repository>
        <snapshots>
            <enabled>true</enabled>
            <updatePolicy>always</updatePolicy>
        </snapshots>
        <id>VONAGE-SNAPSHOTS</id>
        <name>Vonage Service Layer Repository</name>
        <url>
            http://maven.dev.s.vonagenetworks.net:8080/nexus-webapp/content/repositories/VONAGE-SNAPSHOTS/
        </url>
    </repository>
</repositories>
<distributionManagement>
    <repository>
        <id>VSL</id>
        <url>http://maven.dev.s.vonagenetworks.net:8080/nexus-webapp/content/repositories/VSL/</url>
    </repository>
</distributionManagement>

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.springframework.data</groupId>
            <artifactId>spring-data-releasetrain</artifactId>
            <version>Hopper-SR2</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-parent</artifactId>
            <version>Brixton.SR4</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

<build>
    <pluginManagement>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </pluginManagement>
</build>

我也在Eclipse中安装了STS。

但是我在运行 spring spoot 应用程序时遇到错误。

> 2016-10-12 11:03:08,432 ERROR [org.springframework.boot.SpringApplication] Application startup failed org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'routingFilter' defined in file [C:\Users\apptivo\Music\Gunify\Gunify-git\gunify-ext-services\gunify-ext-services\target\classes\com\vonage\gunify\extservices\filter\RoutingFilter.class]: Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.vonage.gunify.extservices.filter.RoutingFilter]: Constructor threw exception; nested exception is java.lang.NoClassDefFoundError: org/apache/commons/lang/text/StrLookup at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:1105) ~[spring-beans-4.2.6.RELEASE.jar:4.2.6.RELEASE] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1050) ~[spring-beans-4.2.6.RELEASE.jar:4.2.6.RELEASE] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:510) ~[spring-beans-4.2.6.RELEASE.jar:4.2.6.RELEASE] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482) ~[spring-beans-4.2.6.RELEASE.jar:4.2.6.RELEASE] at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306) ~[spring-beans-4.2.6.RELEASE.jar:4.2.6.RELEASE] at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230) ~[spring-beans-4.2.6.RELEASE.jar:4.2.6.RELEASE] at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302) ~[spring-beans-4.2.6.RELEASE.jar:4.2.6.RELEASE] at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197) ~[spring-beans-4.2.6.RELEASE.jar:4.2.6.RELEASE] at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:772) ~[spring-beans-4.2.6.RELEASE.jar:4.2.6.RELEASE] at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:839) ~[spring-context-4.2.6.RELEASE.jar:4.2.6.RELEASE] at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:538) ~[spring-context-4.2.6.RELEASE.jar:4.2.6.RELEASE] at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:118) ~[spring-boot-1.3.6.RELEASE.jar:1.3.6.RELEASE] at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:760) ~[spring-boot-1.3.6.RELEASE.jar:1.3.6.RELEASE] at org.springframework.boot.SpringApplication.createAndRefreshContext(SpringApplication.java:360) [spring-boot-1.3.6.RELEASE.jar:1.3.6.RELEASE] at org.springframework.boot.SpringApplication.run(SpringApplication.java:306) [spring-boot-1.3.6.RELEASE.jar:1.3.6.RELEASE] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1185) [spring-boot-1.3.6.RELEASE.jar:1.3.6.RELEASE] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1174) [spring-boot-1.3.6.RELEASE.jar:1.3.6.RELEASE] at com.vonage.gunify.extservices.ExtensionServices.main(ExtensionServices.java:17) [classes/:?] Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.vonage.gunify.extservices.filter.RoutingFilter]: Constructor threw exception; nested exception is java.lang.NoClassDefFoundError: org/apache/commons/lang/text/StrLookup at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:163) ~[spring-beans-4.2.6.RELEASE.jar:4.2.6.RELEASE] at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:89) ~[spring-beans-4.2.6.RELEASE.jar:4.2.6.RELEASE] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:1098) ~[spring-beans-4.2.6.RELEASE.jar:4.2.6.RELEASE] ... 17 more Caused by: java.lang.NoClassDefFoundError: org/apache/commons/lang/text/StrLookup at com.netflix.config.ConfigurationManager.createDefaultConfigInstance(ConfigurationManager.java:138) ~[archaius-core-0.7.4.jar:0.7.4] at com.netflix.config.ConfigurationManager.getConfigInstance(ConfigurationManager.java:161) ~[archaius-core-0.7.4.jar:0.7.4] at com.netflix.config.ConfigurationManager.getConfigInstance(ConfigurationManager.java:176) ~[archaius-core-0.7.4.jar:0.7.4] at com.netflix.config.ConfigurationBasedDeploymentContext.(ConfigurationBasedDeploymentContext.java:108) ~[archaius-core-0.7.4.jar:0.7.4] at com.netflix.config.ConfigurationManager.(ConfigurationManager.java:104) ~[archaius-core-0.7.4.jar:0.7.4] at com.netflix.config.DynamicPropertyFactory.getInstance(DynamicPropertyFactory.java:277) ~[archaius-core-0.7.4.jar:0.7.4] at com.netflix.zuul.ZuulFilter.(ZuulFilter.java:54) ~[zuul-core-1.1.0.jar:1.1.0] at com.vonage.gunify.extservices.filter.AbstractZuulFilter.(AbstractZuulFilter.java:11) ~[classes/:?] at com.vonage.gunify.extservices.filter.RoutingFilter.(RoutingFilter.java:6) ~[classes/:?] at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:1.8.0_102] at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) ~[?:1.8.0_102] at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[?:1.8.0_102] at java.lang.reflect.Constructor.newInstance(Constructor.java:423) ~[?:1.8.0_102] at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:147) ~[spring-beans-4.2.6.RELEASE.jar:4.2.6.RELEASE] at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:89) ~[spring-beans-4.2.6.RELEASE.jar:4.2.6.RELEASE] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:1098) ~[spring-beans-4.2.6.RELEASE.jar:4.2.6.RELEASE] ... 17 more Caused by: java.lang.ClassNotFoundException: org.apache.commons.lang.text.StrLookup at java.net.URLClassLoader.findClass(URLClassLoader.java:381) ~[?:1.8.0_102] at java.lang.ClassLoader.loadClass(ClassLoader.java:424) ~[?:1.8.0_102] at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) ~[?:1.8.0_102] at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[?:1.8.0_102] at com.netflix.config.ConfigurationManager.createDefaultConfigInstance(ConfigurationManager.java:138) ~[archaius-core-0.7.4.jar:0.7.4] at com.netflix.config.ConfigurationManager.getConfigInstance(ConfigurationManager.java:161) ~[archaius-core-0.7.4.jar:0.7.4] at com.netflix.config.ConfigurationManager.getConfigInstance(ConfigurationManager.java:176) ~[archaius-core-0.7.4.jar:0.7.4] at com.netflix.config.ConfigurationBasedDeploymentContext.(ConfigurationBasedDeploymentContext.java:108) ~[archaius-core-0.7.4.jar:0.7.4] at com.netflix.config.ConfigurationManager.(ConfigurationManager.java:104) ~[archaius-core-0.7.4.jar:0.7.4] at com.netflix.config.DynamicPropertyFactory.getInstance(DynamicPropertyFactory.java:277) ~[archaius-core-0.7.4.jar:0.7.4] at com.netflix.zuul.ZuulFilter.(ZuulFilter.java:54) ~[zuul-core-1.1.0.jar:1.1.0] at com.vonage.gunify.extservices.filter.AbstractZuulFilter.(AbstractZuulFilter.java:11) ~[classes/:?] at com.vonage.gunify.extservices.filter.RoutingFilter.(RoutingFilter.java:6) ~[classes/:?] at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:1.8.0_102] at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) ~[?:1.8.0_102] at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[?:1.8.0_102] at java.lang.reflect.Constructor.newInstance(Constructor.java:423) ~[?:1.8.0_102] at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:147) ~[spring-beans-4.2.6.RELEASE.jar:4.2.6.RELEASE] at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:89) ~[spring-beans-4.2.6.RELEASE.jar:4.2.6.RELEASE] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:1098) ~[spring-beans-4.2.6.RELEASE.jar:4.2.6.RELEASE] ... 17 more

最佳答案

正如错误消息所示:java.lang.NoClassDefFoundError: org/apache/commons/lang/text/StrLookup

这意味着您的依赖项中缺少 apache commons-lang:

所以你必须将以下内容添加到你的 pom 中:

<!-- https://mvnrepository.com/artifact/commons-lang/commons-lang -->
<dependency>
    <groupId>commons-lang</groupId>
    <artifactId>commons-lang</artifactId>
    <version>2.6</version>
</dependency>

此外,您正在使用 commons-lang3,但它有另一个包名称 org/apache/commons/lang3...

关于java.lang.NoClassDefFoundError : org/apache/commons/lang/text/StrLookup Exception While Running Spring Boot Application,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39991530/

相关文章:

java - 如何在 PHP 中获取通过 Volley 发送的 PHP 中的 HashMap?

java - 类路径中的多个 Log4j.properties 文件

spring - 如何在Aop中打印Grails Controller 参数对象值

java - 如何在 java 类中创建 Spring Security 3.1 数据源 bean

java - Spring:用于动态查询的通用 RowMapper

java - 如何使用 Maven 制作 jar of jar

java - 如何实现多客户端与服务器聊天

java - 返回排序后的 List<Object>,其中第一项值始终为空

android - Maven在Gradle插件中发布逻辑

java - Maven:缺少 Artifact 急板