2016-05-08 24 views
1

SpringブートでREST APIを作成し、WARファイルとしてパッケージ化しました。 WARをTomcat 8のwebappsフォルダにコピーし、Tomcatサービスを開始しました。私は問題の周りにプレイしTomcat8にデプロイされたSpringブートMVCアプリケーションのwarファイルがjava.lang.TypeNotPresentExceptionで失敗する

を提示していないタイプ org.springframework.test.context.ContextConfiguration:

java.lang.TypeNotPresentException:サーバが起動している間、それはによって引き起こされるいくつかの例外がスローされます私はwebappのlibにJARファイルを移動し、lib-providedフォルダをTomcat8/libフォルダに移動すると例外がスローされず、APIが期待どおりに動作することを発見しました。私はこの問題の原因を知りません。スコープがprovidedpom.xmlにいくつかの依存関係があります。多分彼らは私に問題を引き起こしているのかもしれない。

<parent> 
    <groupId>org.springframework.boot</groupId> 
    <artifactId>spring-boot-starter-parent</artifactId> 
    <version>1.3.3.RELEASE</version> 
</parent> 

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

<dependencies> 
    <dependency> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-tomcat</artifactId> 
     <scope>provided</scope> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-web</artifactId> 
    </dependency> 
    <dependency> 
     <groupId>com.pp</groupId> 
     <artifactId>DAO-Commons</artifactId> 
     <version>0.0.1-SNAPSHOT</version> 
     <scope>provided</scope> 
    </dependency> 
    <dependency> 
     <groupId>com.pp</groupId> 
     <artifactId>carddao</artifactId> 
     <version>0.0.1-SNAPSHOT</version> 
     <scope>provided</scope> 
    </dependency> 
    <dependency> 
     <groupId>com.pp</groupId> 
     <artifactId>cardtemplatedao</artifactId> 
     <version>0.0.1-SNAPSHOT</version> 
     <scope>provided</scope> 
    </dependency> 
    <dependency> 
     <groupId>com.pp</groupId> 
     <artifactId>cardlibrarydao</artifactId> 
     <version>0.0.1-SNAPSHOT</version> 
     <scope>provided</scope> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-test</artifactId> 
     <scope>test</scope> 
    </dependency> 
</dependencies> 

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

+1

'提供された'スコープを 'spring-boot-starter-tomcat'に保存し、他のものから削除します。 –

答えて

5

maven docs - dependency mechanism

を見てくださいスコープ提供を削除してください:

は、ここに私のポンポンです!彼らはWEB-INF/libディレクトリにあります。

関連する問題