2014-01-26 28 views
1

我正在使用jetty-9.1.1.v20140108並試圖通過命令行 啓動碼頭服務,向我顯示以下錯誤。爲此,使用JRE「1.7.0_02」。無法通過窗口中的命令啓動碼頭服務7

java.io.IOException: Cannot read file: modules\npn\npn-1.7.0_02.mod 
    at org.eclipse.jetty.start.Modules.registerModule(Modules.java:405) 
    at org.eclipse.jetty.start.Modules.registerAll(Modules.java:395) 
    at org.eclipse.jetty.start.Main.processCommandLine(Main.java:561) 
    at org.eclipse.jetty.start.Main.main(Main.java:102) 
+0

1.你爲什麼使用史前JRE? 2.你在調用什麼命令? –

回答

0

碼頭正在尋找對應的JRE版本您使用的是mod文件,但它不包含在碼頭的分佈。

在您的Jetty/modules/npn目錄中,複製「npn-1.7.0_04.mod」並將其命名爲「npn-1.7.0_02.mod」。

在文本編輯器中打開文件,並將所有匹配的「1.1.0.v20120525」替換爲「1.0.0.v20120402」。

請參閱http://www.eclipse.org/jetty/documentation/current/npn-chapter.html#npn-versions瞭解更多信息。

+0

謝謝,上面的信息解決了我的問題 –

+0

您能否提出我的回答,@ user2861283? – rcauvin

0

我們在Windows Server 2008上發現了同樣的問題。當Jetty嘗試讀取模塊配置文件並且由於可讀性檢查中的錯誤而發生此問題時。

在一個檢查用的java.nio,以查看是否該文件是可讀取得的碼頭源文件FS.java線39:

public static boolean canReadFile(Path path) 
{ 
    return Files.exists(path) && Files.isRegularFile(path) && Files.isReadable(path); 
} 

到isReadable呼叫是緩慢和失敗,也參見: http://mail.openjdk.java.net/pipermail/nio-discuss/2012-July/000672.html

該文件本身實際上是可讀的,可以從Java成功讀取,但isReadable錯誤地返回false。

有兩種可能的解決方法:

  1. 升級到Java 8
  2. 刪除從碼頭源isReadable檢查(在任何情況下,如果該文件是無法讀取讀數將失敗,一個異常)。

(參見類似的問題Jetty Web Server unable to start "java.io.IOException: cannot read file:.."