运行Spring Boot应用程序时出现java.lang.NoClassDefFoundError:org / apache / commons / lang / text / StrLookup异常

时间:2016-10-12 06:05:53

标签: 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应用程序时出错了。

  

&GT;   2016-10-12 11:03:08,432 ERROR [org.springframework.boot.SpringApplication]应用程序启动失败   org.springframework.beans.factory.BeanCreationException:创建名称为&#39; routingFilter&#39;的bean时出错在文件[C:\ Users \ apptivo \ Music \ Gunify \ Gunify-git \ gunify-ext-services \ gunify-ext-services \ target \ classes \ com \ vonage \ gunify \ extservices \ filter \ RoutingFilter.class]中定义: bean的实例化失败;嵌套异常是org.springframework.beans.BeanInstantiationException:无法实例化[com.vonage.gunify.extservices.filter.RoutingFilter]:构造函数抛出异常;嵌套异常是java.lang.NoClassDefFoundError:org / apache / commons / lang / text / StrLookup       在org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:1105)〜[spring-beans-4.2.6.RELEASE.jar:4.2.6.RELEASE]       在org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1050)〜[spring-beans-4.2.6.RELEASE.jar:4.2.6.RELEASE]       在org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:510)〜[spring-beans-4.2.6.RELEASE.jar:4.2.6.RELEASE]       在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]       在org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)〜[spring-beans-4.2.6.RELEASE.jar:4.2.6.RELEASE]       在org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302)〜[spring-beans-4.2.6.RELEASE.jar:4.2.6.RELEASE]       在org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)〜[spring-beans-4.2.6.RELEASE.jar:4.2.6.RELEASE]       在org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:772)〜[spring-beans-4.2.6.RELEASE.jar:4.2.6.RELEASE]       在org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:839)〜[spring-context-4.2.6.RELEASE.jar:4.2.6.RELEASE]       在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]       在org.springframework.boot.SpringApplication.refresh(SpringApplication.java:760)〜[spring-boot-1.3.6.RELEASE.jar:1.3.6.RELEASE]       在org.springframework.boot.SpringApplication.createAndRefreshContext(SpringApplication.java:360)[spring-boot-1.3.6.RELEASE.jar:1.3.6.RELEASE]       在org.springframework.boot.SpringApplication.run(SpringApplication.java:306)[spring-boot-1.3.6.RELEASE.jar:1.3.6.RELEASE]       在org.springframework.boot.SpringApplication.run(SpringApplication.java:1185)[spring-boot-1.3.6.RELEASE.jar:1.3.6.RELEASE]       在org.springframework.boot.SpringApplication.run(SpringApplication.java:1174)[spring-boot-1.3.6.RELEASE.jar:1.3.6.RELEASE]       在com.vonage.gunify.extservices.ExtensionServices.main(ExtensionServices.java:17)[classes /:?]   引起:org.springframework.beans.BeanInstantiationException:无法实例化[com.vonage.gunify.extservices.filter.RoutingFilter]:构造函数抛出异常;嵌套异常是java.lang.NoClassDefFoundError:org / apache / commons / lang / text / StrLookup       在org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:163)〜[spring-beans-4.2.6.RELEASE.jar:4.2.6.RELEASE]       在org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:89)〜[spring-beans-4.2.6.RELEASE.jar:4.2.6.RELEASE]       在org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:1098)〜[spring-beans-4.2.6.RELEASE.jar:4.2.6.RELEASE]       ......还有17个   引起:java.lang.NoClassDefFoundError:org / apache / commons / lang / text / StrLookup       在com.netflix.config.ConfigurationManager.createDefaultConfigInstance(ConfigurationManager.java:138)〜[archaius-core-0.7.4.jar:0.7.4]       在com.netflix.config.ConfigurationManager.getConfigInstance(ConfigurationManager.java:161)〜[archaius-core-0.7.4.jar:0.7.4]       在com.netflix.config.ConfigurationManager.getConfigInstance(ConfigurationManager.java:176)〜[archaius-core-0.7.4.jar:0.7.4]       在com.netflix.config.ConfigurationBasedDeploymentContext。(ConfigurationBasedDeploymentContext.java:108)〜[archaius-core-0.7.4.jar:0.7.4]       在com.netflix.config.ConfigurationManager。(ConfigurationManager.java:104)〜[archaius-core-0.7.4.jar:0.7.4]       在com.netflix.config.DynamicPropertyFactory.getInstance(DynamicPropertyFactory.java:277)〜[archaius-core-0.7.4.jar:0.7.4]       在com.netflix.zuul.ZuulFilter。(ZuulFilter.java:54)〜[zuul-core-1.1.0.jar:1.1.0]       在com.vonage.gunify.extservices.filter.AbstractZuulFilter。(AbstractZuulFilter.java:11)​​〜[classes /:?]       在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]       在java.lang.reflect.Constructor.newInstance(Constructor.java:423)〜[?:1.8.0_102]       在org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:147)〜[spring-beans-4.2.6.RELEASE.jar:4.2.6.RELEASE]       在org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:89)〜[spring-beans-4.2.6.RELEASE.jar:4.2.6.RELEASE]       在org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:1098)〜[spring-beans-4.2.6.RELEASE.jar:4.2.6.RELEASE]       ......还有17个   引起:java.lang.ClassNotFoundException:org.apache.commons.lang.text.StrLookup       在java.net.URLClassLoader.findClass(URLClassLoader.java:381)〜[?:1.8.0_102]       在java.lang.ClassLoader.loadClass(ClassLoader.java:424)〜[?:1.8.0_102]       at sun.misc.Launcher $ AppClassLoader.loadClass(Launcher.java:331)〜[?:1.8.0_102]       在java.lang.ClassLoader.loadClass(ClassLoader.java:357)〜[?:1.8.0_102]       在com.netflix.config.ConfigurationManager.createDefaultConfigInstance(ConfigurationManager.java:138)〜[archaius-core-0.7.4.jar:0.7.4]       在com.netflix.config.ConfigurationManager.getConfigInstance(ConfigurationManager.java:161)〜[archaius-core-0.7.4.jar:0.7.4]       在com.netflix.config.ConfigurationManager.getConfigInstance(ConfigurationManager.java:176)〜[archaius-core-0.7.4.jar:0.7.4]       在com.netflix.config.ConfigurationBasedDeploymentContext。(ConfigurationBasedDeploymentContext.java:108)〜[archaius-core-0.7.4.jar:0.7.4]       在com.netflix.config.ConfigurationManager。(ConfigurationManager.java:104)〜[archaius-core-0.7.4.jar:0.7.4]       在com.netflix.config.DynamicPropertyFactory.getInstance(DynamicPropertyFactory.java:277)〜[archaius-core-0.7.4.jar:0.7.4]       在com.netflix.zuul.ZuulFilter。(ZuulFilter.java:54)〜[zuul-core-1.1.0.jar:1.1.0]       在com.vonage.gunify.extservices.filter.AbstractZuulFilter。(AbstractZuulFilter.java:11)​​〜[classes /:?]       在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]       在java.lang.reflect.Constructor.newInstance(Constructor.java:423)〜[?:1.8.0_102]       在org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:147)〜[spring-beans-4.2.6.RELEASE.jar:4.2.6.RELEASE]       在org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:89)〜[spring-beans-4.2.6.RELEASE.jar:4.2.6.RELEASE]       在org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:1098)〜[spring-beans-4.2.6.RELEASE.jar:4.2.6.RELEASE]       ......还有17个

1 个答案:

答案 0 :(得分:2)

正如错误消息所示: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 ......

相关问题