2016-06-12 51 views
2

我對java很陌生,只是想通過衛星的Java API來驗證應用程序,但它不起作用。我試圖運行this satellizer example,但它給出了一個錯誤:assets/index.html找不到。整個目錄結構中沒有資產文件夾。我試着添加它。我也試着從在「java實現」中找不到「assets/index.html」

URL clientPage = Resources.getResource("assets/index.html"); 

更改爲資源路徑:通過在路徑中增加的index.html

URL clientPage = Resources.getResource("index.html"); 

,但還是同樣的錯誤。有沒有其他人試過運行這個API?

+0

請發佈出錯信息。 –

回答

0

當使用classpath資源時,類的包名被預先添加到實際路徑中。這是資源路徑相對於當前類。

您必須在開始時使用/assets/index.html,並用斜槓標識您要從類路徑的根目錄訪問資源。

+0

是的,這是一個普遍的問題,但我無法解決它也嘗試了你說的。「。assets/index.html」。即使我改變路徑爲「index.html」它再次說「assets/index.html」找不到。 –

+0

即使您將代碼更改爲「/index.html」,它也會顯示「assets/index.html找不到」?你可以請發佈產生的異常?和你目前的代碼? –

+0

我現在的代碼和'assets/index.html'是一樣的。我做的唯一更改是在每次更改後都運行「mvn package」命令。 –

1

我找到了解決方案。對於Java新手我不瞭解Maven的工作。它的解決方案是,每次進行更改時,不僅會重新啓動java服務器,還需要運行maven。所以每次我進行更改時,都必須運行兩個命令。

首先:

mvn package 

其次:

java -jar target/dropwizard-example.jar server example.yml 

感謝大家參加了這個問題的興趣。

+0

如果這是您的問題的解決方案,請澄清這是一個真正的答案。它看起來像任何用戶已發佈另一個問題作爲答案。也請接受你自己的答案。 –