簡體   English   中英

如何將JDBC驅動程序作為系統依賴項放置在SBT項目中以開發模式進行Scala / Play項目

[英]How to place JDBC Drivers as System Dependencies in SBT Projects Scala/Play Projects in Dev Mode

我有許多依賴項,例如來自Oracle和Microsoft等供應商的JDBC驅動程序,它們不在公共工件庫中。

每次我希望在開發模式下運行我的Play應用程序時可以使用這些依賴項時,我必須將這些jar放在lib文件夾中(在play項目中)

這些驅動程序應該因客戶而異,在項目的某些階段我們需要Oracle,其他一些階段,2個驅動程序。

另一點是,我們有多個Play應用程序,我們使用這些驅動程序,並且必須手動將它們放在lib文件夾中

我怎么能避免這個?

當我從命令行說出來時,我需要在類路徑中使用這些jar:

sbt run "play-project" -Dhttp.port=9001

也許有一些播放參數,我也可以傳遞一個額外的類路徑。

我使用的是Play 2.4和Scala 2.11.7

我認為你有兩個解決方案:

  1. 將您的特定jar文件添加到公共文件夾中,並從構建文件中引用該文件。 您應該添加一些環境屬性或一些可配置的方式,以允許團隊中的其他人配置jar位置。

  2. 創建包含特定jar的私有maven或ivy存儲庫。 它可以像具有文件和正確目錄結構的http服務器一樣簡單。 這允許您在內部分發jar文件,而無需人員在其計算機上配置特定文件夾。

對於第一個解決方案,從SBT文檔中 ,您應該只在非托管類路徑中添加這些jar,在build.sbt文件中添加如下行:

unmanagedJars in Compile := (file("/my_common_path") ** "*.jar").classpath

對於第二個解決方案,只需看看sbt的解析器文檔

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM