2016-12-02 63 views
-1

我使用java 1.6與spring集成:core,file和sftp,它們根據文檔符合java 6。不過,我收到以下消息。任何想法?Spring Integration 4.3.5需要Java 1.7

Failed to instantiate [org.springframework.integration.sftp.inbound.SftpInboundFileSynchronizingMessageSource]: Constructor threw exception; nested exception is java.lang.NoClassDefFoundError: java/nio/file/StandardWatchEventKinds

回答

0

您可以檢查here。這個類在7版本存在,但不是在版本6

spring link說,這是用java 6兼容的,所以我想這是一個錯誤,除非你是不是真的使用4.3.5版本

+0

我看不到在4.3.5彈簧集成jar中的包** org.springframework.integration.sftp.inbound ** – kimy82

+0

它是在spring-integration- sftp,我也有。應該是這個需要Java 7的包我猜。 – Bernard

+0

你說得對。我正在尋找錯誤的罐子。然而,spring類不會導入nio包。我會研究所有進口。也許你的依賴管理系統正在重寫一些jar版本,而新版本需要java7 – kimy82

0

該類這是Java7引入的非阻塞IO 2 API的一部分。 https://docs.oracle.com/javase/7/docs/api/java/nio/file/package-summary.html#package_description

Spring集成4.3.5似乎與java 6兼容,但是某些函數可能需要更新的java。

如果您看一下SftpInboundFileSynchronizingMessageSource,它將從AbstractInboundFileSynchronizingMessageSource繼承。在the source code構造函數創建一個新的FileReadingMessageSource,需要Java7

+0

正確,所以這裏的spring整合文檔並不準確:http://docs.spring.io/spring-integration/reference/htmlsingle/# supported-java-versions – Bernard

+0

不,您可以看到某些功能可能需要較新的Java版本。檢查我編輯的回覆。 – JEY

+0

謝謝,它確實需要Java7 – Bernard

相關問題