我已經創建了一個像Heiko Seeberger's article描述的IntelliJ Idea SBT Scala項目。如何將Jar庫添加到IntelliJ Idea SBT Scala項目中?
我想添加一個Jar庫(joda-time)在這個項目中使用。這個怎麼做?簡單地把它們放到項目的/ lib中並沒有幫助。如果我在Idea的項目樹中右鍵單擊「外部庫」,「新建」將變爲灰色。
我已經創建了一個像Heiko Seeberger's article描述的IntelliJ Idea SBT Scala項目。如何將Jar庫添加到IntelliJ Idea SBT Scala項目中?
我想添加一個Jar庫(joda-time)在這個項目中使用。這個怎麼做?簡單地把它們放到項目的/ lib中並沒有幫助。如果我在Idea的項目樹中右鍵單擊「外部庫」,「新建」將變爲灰色。
在項目的IntelliJ Idea窗口中,找到File >> Project structure >> Libraries。點擊該庫選項後,將出現兩個窗格。在最左側窗格的頂部,點擊綠色的「+」按鈕。
在IntelliJ IDEA的:
在NetBeans:
在Eclipse:
我認爲將jar文件添加到build.sbt是一個更好的選擇。 – Daniel 2015-06-10 21:31:16
更好的方式來做到這一點是你的非託管的依賴添加到您的build.sbt和離開你的依賴管理的一部分,切莫你騎。
有關如何定義unmanagedBase和unmanagedJars任務的詳細信息,請參閱http://www.scala-sbt.org/release/docs/Library-Management.html。
lib文件夾被自動添加到unmanagedJars,這是由IDEA支持嗎? – Edmondo1984 2016-05-28 17:17:47
是的,Idea查找unmanagedJars中提到的庫,並正確執行所有導航/突出顯示。如果你的意思是構建,Idea使用Sbt本身(捆綁或外部)來構建Sbt項目,所以他們不需要額外的支持。 – mcyalcin 2016-06-07 18:30:10
在build.sbt
unmanagedJars in Compile += file(Path.userHome+"/Your-Jar-Path/Full-Jar-Name.jar")
只需要聲明這一點,所需的jar將出現在外部庫>非託管罐>全將罐Name.jar。如果jar文件(在提供的路徑中)被修改,這也會改變。
對於多模塊SBT項目(Intellij 2017.3.4,Scala 12.2.4,sbt 1.1.1),接受的解決方案只能在重新啓動或項目刷新之前運行。事實上,「項目設置 - >模塊 - >依賴關係」,然後「+」和「JAR或目錄」會給出警告「模塊X是從Sbt導入的,任何對其配置所做的更改可能會在重新導入後丟失」。
可能的解決方法:
的建議通過@zero爲我工作如下:
lib
目錄。build.sbt
,裏面lazy var baseSettings = Seq(...)
添加行 unmanagedJars in Compile += file("YourPath/ProjectBla/lib/controlsfx-8.40.14.jar")
。還沒有運氣?在SBT工具窗口中,模塊的sbt設置下的unmanagedBase,非託管源目錄(等)嘗試調用彈出命令「Show value」和「Inspect」幾次。不知何故,它可能會奏效。
從Eugene Yokota對How can I add unmanaged JARs in sbt-assembly to the final fat JAR?的回答中可以看出,另一個選項(我沒有嘗試)是爲每個需要的模塊添加一個單獨的lib
目錄。
希望這些步驟能夠解決問題或者至少有助於調試。
這似乎不適用於版本13.1.5。我添加.jar文件。直到下一次我重新啓動IntellJ,或者如果我修改build.sbt文件,它都能正常工作。然後,它只是「消失」。 – chaotic3quilibrium 2014-10-23 22:39:23
同上。與我一樣 – 2015-03-13 11:57:49