簡體   English   中英

使用Git本地存儲庫作為SBT項目中的依賴項?

[英]Using Git local repository as dependency in SBT project?

我從GitHub克隆了一個存儲庫到我的本地機器,改變它以滿足我的需求,現在我將在我的項目中使用它。 我想我必須使用它的.jar文件。 但是,沒有這樣的文件。

我必須自己生成嗎?

另外,我該如何參考呢? 我現在不想將它復制到/lib文件夾,因為我一直在處理克隆的項目。 我發現我必須使用這個:

resolvers += "Local Maven Repository" at "file://"+Path.userHome.absolutePath+"/.m2/repository" 

但是,我沒有build.sbt文件,我只有一個標題為Build.scala的普通scala文件,並且不可能在其中使用上面的代碼。

另外,它說/.m2/repository ,但是它如何知道.jar文件在這個存儲庫中的位置?

由於該項目來自GitHub,我認為它是一個git項目。 解決方案是使用帶有git URI的RootProject作為克隆git項目的引用。

假設您將項目克隆到/Users/jacek/sandbox/so/sbt-git/git-repo (正如我在Can SBT中所做的那樣刷新git uri依賴(總是或按需)? )。

執行git log以查找要引用的最后一個提交,並在SBT中引用項目的git URI中使用它 - 在dependsOn

鑒於最后一次提交是a221379c7f82e5cc089cbf9347d473ef58255bb2build.sbt可能如下所示:

lazy val v = "a221379c7f82e5cc089cbf9347d473ef58255bb2"

lazy val g = RootProject(uri(s"git:file:///Users/jacek/sandbox/so/sbt-git/git-repo/#$v"))

lazy val root = project in file(".") dependsOn g

也可以省略提交ID並在使用git fetch更新之后跟上引用的git項目中的開發,然后按照git-pull(1)手冊頁中的描述進行git merge

暫無
暫無

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

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