2014-10-10 53 views
0

我更新了我的項目,包括在build.sbt一些依賴與下面幾行:爲什麼Eclipse中的Play 2.3.4項目沒有找到新的依賴關係?

libraryDependencies += "mysql" % "mysql-connector-java" % "5.1.33" 
libraryDependencies += "org.springframework" % "spring-jdbc" % "4.1.1.RELEASE" 

classes_managed加入到classpath,但目錄不存在與庫中不存在。

我編輯了該項目,刪除了所有錯誤(包括對管理庫中所有類的引用),compile,但仍缺少目錄和庫。

SBT似乎不想下載庫...不知道我做錯了什麼。

+0

與classes_managed相關的問題與sbt構建依賴關係無關,這是因爲我的項目在清理完成後未編譯。 – Neilos 2014-10-10 08:57:51

回答

7

sbt管理的任何依賴關係以~/.ivy2/cache(它是configurable)結束。

當你聲明與libraryDependencies項目的依賴,你應該執行update(明確的)或任何其他命令來建立你的項目裝配像packageassembly是要拉下來(通過update隱含的)。

一個警告可能是你可能已經改變了build.sbt而沒有reload進行了一個sbt會話,使得這些改​​變對構建沒有影響。您應該執行reload來重新讀取構建定義或關閉sbt並重新開始。

一個非常有用的命令,看看libraryDependencies正在使用的是show libraryDependencies。它會向你展示所有依賴關係。

完成後,運行eclipse命令爲IDE準備文件。在Eclipse中重新加載項目並且所有項都應該沒問題。

它同樣適用於sbt或Typesafe Activator(和部分IntelliJ IDEA)。

+0

是的,在運行'reload'和'update'後,我可以在'〜/ .ivy2/cache'中看到依賴關係,謝謝指出。在遵循這些步驟之後,我必須做的另一件事是將lib添加到類路徑中(我希望類型安全激活器會爲我做這個但看起來不是,至少不是在eclipse中),而不是手動執行,我簡單地運行在激活控制檯下再次執行'eclipse'命令。當我重新加載項目時一切正常。謝謝。 – Neilos 2014-10-10 09:01:51

+0

我很高興它爲你工作。這就是與IDE合作的美妙之處 - 他們以不同的方式(從sbt)統治世界,所以當sbt開心時,也可以是IDE(但並非始終如此)。 – 2014-10-10 10:46:57

相關問題