2016-06-28 35 views
1

我在Jetty 9.2.10.v20150310中運行SpringMVC應用程序時沒有問題。 但是,只要我在BouncyCastle上添加依賴項,掃描就會永久存在並且服務器超時。BouncyCastle在SpringMVC中導致掃描超時

我只有在項目

 <!-- bouncy castle --> 
    <dependency> 
     <groupId>org.bouncycastle</groupId> 
     <artifactId>bcpkix-jdk15on</artifactId> 
     <version>1.54</version> 
    </dependency> 

依賴關係樹一個BouncyCastle的依賴證實:

mvn dependency:tree -Dincludes=org.bouncycastle 

生產:

[INFO] Building application-myapp 1.0.0-SNAPSHOT 
[INFO] ------------------------------------------------------------------  ------ 
[INFO] 
[INFO] --- maven-dependency-plugin:2.8:tree (default-cli) @ application-myapp --- 
[INFO] com.my-company:application-myapp:war:1.0.0-SNAPSHOT 
[INFO] \- org.bouncycastle:bcpkix-jdk15on:jar:1.54:compile 
[INFO] \- org.bouncycastle:bcprov-jdk15on:jar:1.54:compile 
[INFO] ------------------------------------------------------------------ ------ 
[INFO] BUILD SUCCESS 

任何人之前看到了嗎?

注:我也嘗試了最新版本碼頭與9.3.10.v20160621相同的結果

當我運行MVN:碼頭工藝與-XI看到它是停留在一個長循環掃描BouncyCastle的罐子,這樣基本上看到輸出了大約兩分鐘:

[DEBUG] Scanning class from jar jar:file:///C:/Users/vgrazi/.m2/org/bouncycastle/bcprov-jdk15on/1.54/bcprov-jdk15on-1.54.jar!/org/bouncycastle/crypto/digests/SHA3Digest.class 
[DEBUG] Scanning class from jar jar:file:///C:/Users/vgrazi/.m2/org/bouncycastle/bcprov-jdk15on/1.54/bcprov-jdk15on-1.54.jar!/org/bouncycastle/crypto/digests/SHA512Digest.class 
[DEBUG] Scanning class from jar jar:file:///C:/Users/vgrazi/.m2/org/bouncycastle/bcprov-jdk15on/1.54/bcprov-jdk15on-1.54.jar!/org/bouncycastle/crypto/digests/SHA512tDigest.class 
[DEBUG] Scanning class from jar jar:file:///C:/Users/vgrazi/.m2/org/bouncycastle/bcprov-jdk15on/1.54/bcprov-jdk15on-1.54.jar!/org/bouncycastle/crypto/digests/SHAKEDigest.class 
[DEBUG] Scanning class from jar jar:file:///C:/Users/vgrazi/.m2/org/bouncycastle/bcprov-jdk15on/1.54/bcprov-jdk15on-1.54.jar!/org/bouncycastle/crypto/digests/SM3Digest.class 
[DEBUG] Scanning class from jar jar:file:///C:/Users/vgrazi/.m2/org/bouncycastle/bcprov-jdk15on/1.54/bcprov-jdk15on-1.54.jar!/org/bouncycastle/crypto/digests/ShortenedDigest.class 
[DEBUG] Scanning class from jar jar:file:///C:/Users/vgrazi/.m2/org/bouncycastle/bcprov-jdk15on/1.54/bcprov-jdk15on-1.54.jar!/org/bouncycastle/crypto/digests/SkeinDigest.class 
[DEBUG] Closing JarFile C:\Users\vgrazi\.m2\org\bouncycastle\bcprov-jdk15on\1.54\bcprov-jdk15on-1.54.jar 
[DEBUG] Closing JarFile C:\Users\vgrazi\.m2\org\bouncycastle\bcprov-jdk15on\1.54\bcprov-jdk15on-1.54.jar 
[DEBUG] Closing JarFile C:\Users\vgrazi\.m2\org\bouncycastle\bcprov-jdk15on\1.54\bcprov-jdk15on-1.54.jar 
+1

嘗試獲取線程轉儲以查看其卡住的位置。 – Roman

+0

我很確定這是基於其他帖子的組件掃描 –

回答

1

我們從碼頭 - Maven的插件消除BouncyCastle的罐子得到了這個工作。請注意webInfIncludeJarPattern中的「排除」bouncycastle lookahead正則表達式:

<plugin> 
    <groupId>org.eclipse.jetty</groupId> 
    <artifactId>jetty-maven-plugin</artifactId> 
    <version>${jetty.version}</version> 
    <configuration combine.self="override"> 
     . . . 
     <webApp> 
     <contextPath>${jetty.context}</contextPath> 
      <webInfIncludeJarPattern>^((?!bouncycastle).)*$</webInfIncludeJarPattern> 
     </webApp> 
     <jettyConfig>${jetty.xml}</jettyConfig> 
     . . .