如何在maven中引用本地存储库?

时间:2014-01-12 16:05:52

标签: java maven caliper

我下载了源代码并构建了卡尺,如下所示:

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文件中,如何引用我刚刚安装的本地存储库?

我使用这样的依赖性来引用caliper:

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

但根据我的上一个问题,我被建议从源代码构建以获取尚未发布的更新:Caliper test using exec-maven-plugin is saying main method signature isn't valid

所以我不确定如何引用我在本地构建并使用maven安装的卡尺版本。

2 个答案:

答案 0 :(得分:1)

通过调用mvn install,您将项目安装到本地存储库中。 Maven将使用本地工件,以防它们可用。请注意, / target 文件夹本地存储库!

看看

    Linux / Mac上的
  • ~/.m2/repository
  • Windows上的C:\Documents and Settings\{your-username}\.m2\repository之类的内容。

你可以看看那里,如果jar文件夹可用于com / google / caliper / caliper / 1.0-BETA-SNAPSHOT /

因此,如果您正确构建并安装了 caliper 工件,则可以在项目中引用它,maven将从本地存储库中解析它。如果它在那里不可用,它将尝试从Maven central或您配置的存储库中解析它。

请务必检查项目pom中的caliper版本是否正确引用,如果我理解正确,则表示: 1.0-beta-SNAPSHOT 。您似乎使用变量${caliper-version},仔细检查此变量是否正确定义并引用正确的版本。

您可以阅读introduction to repositories以获取更多信息。

答案 1 :(得分:0)

如果版本是例如1.0-SNAPSHOT,那么将jar放在这里

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