2017-07-18 123 views
3

Scala和sbt的新手;來自Python世界,並且被圖書館依賴關係,版本控制以及可以並不能自動下載的內容(即.jar需要手動放置在/ lib中)所迷惑。如何將geoscript作爲依賴包含在Scala intelliJ項目中?

我想在我的Scala應用程序中使用來自Scala geoscript項目(http://geoscript.org/scala/quickstart.html)的類。

我使用IntelliJ與Scala 2.11.8。

可我最終做這樣的事情:

libraryDependencies += "org.geoscript" % "some-artifact" % some=version

或者這將是一個「非託管依賴症」?如果是這樣,那麼幹淨的方法是什麼?

回答

1

如果依賴關係jar發佈到Maven Central和其他一些存儲庫,sbt將自動能夠解析並下載它時聲明它爲libraryDependency。這是一個「管理依賴」。通常一個庫的文檔會告訴你需要安裝它的「座標」(組ID,工件ID,版本)。

在您鏈接的頁面和Maven搜索中,它看起來像Geoscript沒有發佈,所以您將不得不將它添加到項目中的/lib文件夾中。這應該足以將其放入類路徑中。您可能需要刷新IntelliJ的項目才能提取並提供完成項。

+0

感謝賈斯汀的迴應。我試圖構建並將項目打包到.jar中,並將其添加到我的項目的外部庫中。儘管導入語句有效(intelliJ能夠找到這些類),但實際上使用該庫時,儘管導入成功了,但還是會拋出許多「未解決的符號」 - 還有一些潛在的依賴關係問題。無論如何,我要去KISS,並在Maven Central找到一個替代的地理空間項目。謝謝! – EyeWrite

+0

如果您基於其他庫打包自己的jar並在另一個項目中使用它,則需要將您的和另一個jar放在classpath中。 sbt爲你提供託管的依賴性,但是在unmanged中你必須自己做 –

相關問題