2017-12-29 51 views
0

は私が1.5.9に当社springbootアプリを更新していると私は、埋め込まれた桟橋サーバで以下のランタイム(nullポインタ)例外に遭遇しています:それは春ブーツ1.4.0でうまく働いSpringブート1.5.9および実行時にヌルポインタ例外をスローする埋め込みJettyサーバー?

Caused by: java.lang.NullPointerException 
    at org.springframework.web.filter.GenericFilterBean.init(GenericFilterBean.java:207) ~[spring-web-4.3.13.RELEASE.jar:4.3.13.RELEASE] 
    at org.eclipse.jetty.servlet.FilterHolder.initialize(FilterHolder.java:139) ~[jetty-servlet-9.4.7.v20170914.jar:9.4.7.v20170914] 
    at org.eclipse.jetty.sNullPointerExceptionervlet.ServletHandler.initialize(ServletHandler.java:741) ~[jetty-servlet-9.4.7.v20170914.jar:9.4.7.v20170914] 
    at org.springframework.boot.context.embedded.jetty.JettyEmbeddedWebAppContext$JettyEmbeddedServletHandler.deferredInitialize(JettyEmbeddedWebAppContext.java:46) ~[spring-boot-1.5.9.RELEASE.jar:1.5.9.RELEASE] 
    at org.springframework.boot.context.embedded.jetty.JettyEmbeddedWebAppContext.deferredInitialize(JettyEmbeddedWebAppContext.java:36) ~[spring-boot-1.5.9.RELEASE.jar:1.5.9.RELEASE] 
    at org.springframework.boot.context.embedded.jetty.JettyEmbeddedServletContainer.handleDeferredInitialize(JettyEmbeddedServletContainer.java:205) ~[spring-boot-1.5.9.RELEASE.jar:1.5.9.RELEASE] 
    at org.springframework.boot.context.embedded.jetty.JettyEmbeddedServletContainer.handleDeferredInitialize(JettyEmbeddedServletContainer.java:211) ~[spring-boot-1.5.9.RELEASE.jar:1.5.9.RELEASE] 
    at org.springframework.boot.context.embedded.jetty.JettyEmbeddedServletContainer.start(JettyEmbeddedServletContainer.java:138) ~[spring-boot-1.5.9.RELEASE.jar:1.5.9.RELEASE] 

ので、 1.5.9にアップグレードすることは間違いありませんか?

私はのpom.xmlに以下います

<dependency>                  
     <groupId>org.springframework.boot</groupId>         
     <artifactId>spring-boot-starter-web</artifactId>        
     <version>1.5.9.RELEASE</version>          
     <exclusions>                 
      <exclusion>                
       <groupId>org.springframework.boot</groupId>       
       <artifactId>spring-boot-starter-tomcat</artifactId>     
      </exclusion>                
     </exclusions>                 
    </dependency>                  
    <dependency>                  
     <groupId>org.springframework.boot</groupId>         
     <artifactId>spring-boot-starter-jetty</artifactId>       
     <version>1.5.9.RELEASE</version>          
    </dependency> 

おかげ

+0

桟橋の依存関係のバージョン番号を指定する必要がありました。それ以外の場合は、mvnのクリーンインストールを実行するとエラーが発生しました。 –

答えて

0

は、これは、あなたのキャッシュ(.m2フォルダ)を削除することができ、私のために正常に動作して、再度プロジェクトをビルドしようとするかもしれませんキャッシュ問題になる

これは私のPOMある

<?xml version="1.0" encoding="UTF-8"?> 
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 

<groupId>com.stackflow.test</groupId> 
<artifactId>DemoSpring1.5.9</artifactId> 
<version>0.0.1-SNAPSHOT</version> 
<packaging>jar</packaging> 

<name>DemoSpring1.5.9</name> 
<description>Stackflow project for Spring Boot</description> 

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

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

<dependencies> 
    <dependency> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter</artifactId> 
    </dependency> 

    <dependency> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-web</artifactId> 
     <exclusions> 
      <exclusion> 
       <groupId>org.springframework.boot</groupId> 
       <artifactId>spring-boot-starter-tomcat</artifactId> 
      </exclusion> 
     </exclusions> 
    </dependency> 

    <dependency> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-jetty</artifactId> 
    </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> 

+0

お返事ありがとうございます!私はそれを試みましたが、まだ問題に遭遇しています。プロジェクトはかなり大きいので、問題の原因となっている他の依存関係の1つと組み合わせて上記の可能性があります。それは奇妙なものだ –

+0

また、これは違いがあるかどうかわからないが、私はLinuxとJava 8でコードを実行している –

+0

私はLinuxでもうまく動作したかもしれないが、そのサンプルアプリケーションはGenericFilterBean .javaクラスをajrから削除します。[spring-web-4.3.13.RELEASE.jar:4.3.13.RELEASE]、一部のロガー設定が適切に行われていないようですが、207行目のコードは [spring-web-4.3.13。 RELEASE.jar:4.3.13.RELEASE] if(this.logger.isDebugEnabled()){ this.logger.debug( "初期化フィルタ" + filterConfig.getFilterName()+ "'"); 設定されたロガーを確認することができるかもしれません –

関連する問題