谁能告诉我maven中的scm连接和developerConnection之间的区别?
我正在尝试构建使用mvn release:prepare
,它需要其中一个.
[错误]无法执行目标org.apache.maven.plugins:maven-release-plugin:2.3.2:在项目上准备(default-cli)was-topology-legacy-dsl:缺少必需的设置:scm connection或developerConnection必须被指定. - > [帮助1]
是否有一种外部化我的SCM凭证的方法,因此它们不存储在项目的POM中?问题是如果它们包含在项目的POM中,那么在部署项目时,所有人都可以看到它们.
我们将maven和git一起用于Java项目.在<scm>
部分中,<tag>
由发布插件自动添加.
例如,
<scm>
<connection>scm:git:http://myserver:7990/scm/project/test.git</connection>
<tag>releaes-tag</tag>
</scm>
Run Code Online (Sandbox Code Playgroud)
<tag>
这里有什么代表?
我认为正常的惯例是 <tag>HEAD</tag>.
当我们使用颠覆时,maven从未使用过 <tag></tag>
是什么意思<tag></tag>
?
我搜索了谷歌和maven文档,但我找不到任何信息.
Maven Buildnumber插件似乎不适用于GIT.暂时有解决方法吗?我最近从SVN切换到GIT并发现它是一个简单的过渡,但这是我目前唯一没有工作的东西.
沃尔特
我在使用Git的Maven SCM插件时遇到问题.我无法让插件工作,因为它说找不到提供程序.我运行时出现以下错误mvn scm:tag
:
[错误]无法在项目上执行目标org.apache.maven.plugins:maven-scm-plugin:1.9:tag(default-cli)hello-world-service-minimal:无法运行标记命令:无法加载scm供应商.没有这样的提供者:'git:ssh://git@git-eng.REDACTED.com'. - > [帮助1]
我的pom.xml如下所示:
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>net.REDACTED</groupId>
<artifactId>hello-world-service-minimal</artifactId>
<version>1.0.13</version>
<packaging>pom</packaging>
<name>hello-world-service</name>
<properties>
<lang.java.source>1.7</lang.java.source>
<lang.java.target>1.7</lang.java.target>
<dep.junit>4.11</dep.junit>
</properties>
<scm>
<developerConnection>scm:git:ssh://git@git-eng.REDACTED.com|PROJECT_NAME/hello-world-service-minimal.git</developerConnection>
<url>scm:git:http://git-eng.REDACTED.com/PROJECT_NAME/hello-world-service-minimal/tree/master</url>
</scm>
<distributionManagement>
<repository>
<id>dev.release</id>
<url>file:${project.build.directory}/repository/</url>
</repository>
</distributionManagement>
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>versions-maven-plugin</artifactId>
<version>2.1</version>
</plugin>
<plugin>
<artifactId>maven-scm-plugin</artifactId>
<version>1.9</version>
<configuration>
<tag>${project.artifactId}-${project.version}</tag>
</configuration>
</plugin>
</plugins>
</build>
</project>
Run Code Online (Sandbox Code Playgroud)
任何人都知道如何解决这个问题?这真让我抓狂.我根本无法弄清楚我做错了什么.
我正在尝试使用自定义maven wagon扩展来将jar部署到我自己的存储库.我可以在settings.xml中以某种方式配置它识别要与特定货车一起使用的自定义URL方案,还是我必须始终修改pom文件以包含货车扩展?
使用deploy-file时,不需要基本pom或任何可用的pom.Settings.xml是唯一保证存在的地方,但我无法弄清楚如何使用它来定义扩展.
我是maven和git的新手,想在设置项目时获得一些帮助.
有没有办法在链接到maven阶段期间定义pom中的目标来推送/拉出git?例如,我可以在maven安装阶段从git中提取吗?
如果是的话,怎么办呢?我会很感激任何代码示例.
问题重新.Maven scm-plugin:http: //maven.apache.org/scm/plugins/usage.html
例如,在pom.xml中:
<scm>
<connection>scm:svn:http://somerepository.com/svn_repo/trunk</connection>
<developerConnection>scm:svn:https://somerepository.com/svn_repo/trunk</developerConnection>
<url>http://somerepository.com/view.cvs</url>
</scm>
Run Code Online (Sandbox Code Playgroud)
<url>
标签究竟用于什么?
我在这里解释了另外两个:http: //maven.apache.org/pom.html
"connection,developerConnection:两个连接元素传达了如何通过Maven连接到版本控制系统.如果连接需要Maven的读取访问权限才能找到源代码(例如,更新),developerConnection需要一个连接将提供写访问权."
但我无法找到<url>
标签的目的是什么?
特别是,<url>
对部署周期或部署周期有什么影响
mvn release:prepare
mvn release:perform
Run Code Online (Sandbox Code Playgroud)
命令?
谢谢,
最近从SourceForge将项目的源代码存储库切换到GitHub我需要更新maven发布过程以匹配.我按照此链接配置了pom的"scm"部分.这里显示了 GitHub存储库.其他所有内容都与使用SVN时一样(用于发布到https://docs.sonatype.org/display/Repository/Sonatype+OSS+Maven+Repository+Usage+Guide#SonatypeOSSMavenRepositoryUsageGuide-4.MavenRepositories).所以我调用了
mvn clean release:clean release:prepare release:perform
Run Code Online (Sandbox Code Playgroud)
输出如下
[INFO] --- maven-release-plugin:2.1:prepare (default-cli) @ datanucleus-maven-parent ---
[INFO] Verifying that there are no local modifications...
[INFO] ignoring changes on: pom.xml.next, release.properties, pom.xml.releaseBackup, pom.xml.backup, pom.xml.branch, pom.xml.tag
[INFO] Executing: /bin/sh -c cd /home/andy/work/datanucleus/datanucleus-maven-parent && git status
[INFO] Working directory: /home/andy/work/datanucleus/datanucleus-maven-parent
[INFO] Checking dependencies and plugins for snapshots ...
What is the release version for "DataNucleus Maven parent project"? (org.datanucleus:datanucleus-maven-parent) 3.3: :
What is SCM release tag or label for …
Run Code Online (Sandbox Code Playgroud) 我们需要获得我们服务的依赖项的所有许可。虽然很容易从报告插件(或mojohaus 的 license-maven-plugin)中获取它们,但我们的律师希望我们实际访问每个依赖项的来源并获取许可证文件。你知道我们如何才能做到这一点吗?
作为替代方案 - 如何获取工件的 scm 连接 URL?我可以使用这些信息来自动化这样的过程。