簡體   English   中英

如何在Maven中引用本地存儲庫?

[英]How to reference a local repository in maven?

我下載了源代碼並按如下方式構建了卡尺:

mvn eclipse:configure-workspace eclipse:eclipse install

現在,/ target文件夾具有:

caliper-1.0-beta-SNAPSHOT-all.jar     generated-sources                     surefire
caliper-1.0-beta-SNAPSHOT-sources.jar generated-test-sources                surefire-reports
caliper-1.0-beta-SNAPSHOT.jar         maven-archiver                        test-classes
classes                               maven-status

現在在我的Spring MVC應用程序的pom文件中,如何引用剛剛安裝的本地存儲庫?

我使用這樣的依賴關系引用卡尺:

   <dependency>
        <groupId>com.google.caliper</groupId>
        <artifactId>caliper</artifactId>
        <version>${caliper-version}</version>
        <scope>test</scope>
    </dependency>

但是根據我的最后一個問題,建議我從源代碼構建以獲取尚未發布的更新: 使用exec-maven-plugin進行的卡尺測試表明主方法簽名無效

所以我不確定如何引用我在本地構建並使用maven安裝的該卡尺版本。

通過調用mvn install ,可以將項目安裝到本地存儲庫中 如果可用,Maven將使用本地工件。 請注意, / target文件夾不是本地存儲庫!

看一下

  • ~/.m2/repository Linux / Mac上的~/.m2/repository
  • Windows上類似C:\\Documents and Settings\\{your-username}\\.m2\\repository

如果罐子位於com / google / caliper / caliper / 1.0-BETA-SNAPSHOT /文件夾中,則可以在那里查看

因此,如果正確構建並安裝了卡尺工件,則可以在項目中引用它,並且maven將從本地存儲庫中對其進行解析。 如果那里不可用,它將嘗試從您配置的Maven Central或存儲庫中解決它。

確保檢查項目pom中是否正確引用了caliper的版本,如果我正確理解的話,這意味着: 1.0-beta-SNAPSHOT 似乎您使用了變量${caliper-version} ,請仔細檢查此變量是否正確定義並引用正確的版本。

您可以閱讀存儲庫簡介以獲取更多信息。

如果版本是例如1.0-SNAPSHOT,則將罐子放在此處

localrepo_folder
  com
     google
        caliper
           caliper  <-- artifact
               1.0-SNAPSHOT
                    caliper-1.0-SNAPSHOT.jar

暫無
暫無

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

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