2

我下载了源代码并像这样构建了卡尺:

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>

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

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

4

2 回答 2

1

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

看一下

  • ~/.m2/repository在 Linux/Mac 上
  • C:\Documents and Settings\{your-username}\.m2\repository在 Windows 上的东西。

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

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

请务必检查您的项目 pom 中是否正确引用了 caliper 的版本,如果我理解正确,这意味着:1.0-beta-SNAPSHOT。您似乎使用了一个变量${caliper-version},请仔细检查该变量是否定义正确并引用正确的版本。

您可以阅读存储库简介以获取更多信息。

于 2014-01-12T17:20:13.850 回答
0

If version is eg 1.0-SNAPSHOT then place the jar here

localrepo_folder
  com
     google
        caliper
           caliper  <-- artifact
               1.0-SNAPSHOT
                    caliper-1.0-SNAPSHOT.jar
于 2014-01-12T16:12:00.553 回答