【问题标题】:Using alternate scm provider in maven-scm-publish-plugin在 maven-scm-publish-plugin 中使用备用 scm 提供程序
【发布时间】:2017-02-28 12:52:22
【问题描述】:

我想使用 Maven 从远程 SVN 更新本地项目(无需安装 SVN 命令) 我正在尝试在 maven-scm-publish-plugin 中使用备用 scm 提供程序,示例插件配置如下所示:

   <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-scm-publish-plugin</artifactId>
          <version>1.1</version>
          <configuration>
            <providerImplementations>
              <svn>javasvn</svn>
            </providerImplementations>
          </configuration>
          <dependencies>
            <dependency>
              <groupId>com.google.code.maven-scm-provider-svnjava</groupId>
              <artifactId>maven-scm-provider-svnjava</artifactId>
              <version>2.0.6</version>
            </dependency>
            <dependency>
              <groupId>org.tmatesoft.svnkit</groupId>
              <artifactId>svnkit</artifactId>
              <version>1.7.11</version>
            </dependency>
          </dependencies>
        </plugin>

来源:http://maven.apache.org/plugins/maven-scm-publish-plugin/various-tips.html

但在执行mvn scm:update 后,它会出现在 Maven 日志中

[INFO] --- maven-scm-plugin:1.9.5:update (default-cli) @testscm ---

[INFO] 执行:/bin/sh -c cd /home/stanimir/ProjectSvnTest && svn --non-interactive update /home/stanimir/ProjectSvnTest

并且错误:svn not found - 我知道.. 它没有安装在系统上。我想改用svnkit,但是这个插件如何使用javasvn?

【问题讨论】:

  • 你为什么要配置 maven-scm-publish-plugin ?为什么要尝试从 SVN 下载存储库?您是在谈论提交到 SVN 的 Maven 存储库吗?
  • 这个 pom.xml 被提交到现有的 SVN 存储库。我的目标是使用mvn scm:update 更新项目
  • 简单地使用svn upd怎么样?为什么通过 Maven 如此复杂?
  • 问题是系统上只安装了 Maven,svn update 将失败并出现同样的错误svn not found 服务器上没有安装 svn cli,我无法更改:)

标签: java maven svn maven-scm-plugin


【解决方案1】:

我从命令行 mvn scm:update(没有配置)而不是 mvn scm-publish:update 运行了错误的 Maven 插件 最后我用 maven-scm-plugin 取得了成功:

<plugin>
                <artifactId>maven-scm-plugin</artifactId>
                <version>1.9.5</version>
                <configuration>
                    <providerImplementations>
                        <svn>javasvn</svn>
                    </providerImplementations>
                    <connectionUrl>scm:svn:https://..</connectionUrl>
                    <username>user</username>
                    <password>XXX</password>
                </configuration>
                <dependencies>
                    <dependency>
                        <groupId>com.google.code.maven-scm-provider-svnjava</groupId>
                        <artifactId>maven-scm-provider-svnjava</artifactId>
                        <version>2.0.6</version>
                    </dependency>
                    <dependency>
                        <groupId>org.tmatesoft.svnkit</groupId>
                        <artifactId>svnkit</artifactId>
                        <version>1.7.11</version>
                    </dependency>
                </dependencies>
            </plugin>

要克隆 SVN 存储库:mvn -Djsse.enableSNIExtension=false scm:checkout

要更新它:mvn scm:update

[INFO] --- maven-scm-plugin:1.9.5:checkout (default-cli) @testcm ---

[INFO] 将默认的“svn”提供程序实现更改为“javasvn”。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-07-04
    • 1970-01-01
    • 1970-01-01
    • 2014-05-02
    • 1970-01-01
    • 2016-10-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多