如何触发Maven SCM插件根据现有目录自动切换目标?
我是Maven新手,遇到一个问题,我试图根据源代码是否已签出自动将SCM插件目标从如何触发Maven SCM插件根据现有目录自动切换目标?,maven,maven-3,maven-plugin,maven-scm,Maven,Maven 3,Maven Plugin,Maven Scm,我是Maven新手,遇到一个问题,我试图根据源代码是否已签出自动将SCM插件目标从签出更改为更新 有人能给我看一个代码示例来让它工作吗? 这是插件配置: <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-scm-plugin</artifactId> <version>1.9.4</version>
签出更改为更新
有人能给我看一个代码示例来让它工作吗?
这是插件配置:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-scm-plugin</artifactId>
<version>1.9.4</version>
<executions>
<execution>
<phase>generate-sources</phase>
<goals>
<goal>checkout</goal>
</goals>
<configuration>
<connectionType>developerConnection</connectionType>
<scmVersion>master</scmVersion>
<scmVersionType>branch</scmVersionType>
<checkoutDirectory>${project.basedir}/src</checkoutDirectory>
<workingDirectory>${project.basedir}/src</workingDirectory>
</configuration>
</execution>
</executions>
</plugin>
org.apache.maven.plugins
maven scm插件
1.9.4
生成源
结账
开发人员连接
主人
分支
${project.basedir}/src
${project.basedir}/src
改变目标
:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-scm-plugin</artifactId>
<version>1.9.4</version>
<executions>
<execution>
<phase>generate-sources</phase>
<goals>
<goal>update</goal>
</goals>
<configuration>
<connectionType>developerConnection</connectionType>
<scmVersion>master</scmVersion>
<scmVersionType>branch</scmVersionType>
<checkoutDirectory>${project.basedir}/src</checkoutDirectory>
<workingDirectory>${project.basedir}/src</workingDirectory>
</configuration>
</execution>
</executions>
</plugin>
org.apache.maven.plugins
改变目标
:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-scm-plugin</artifactId>
<version>1.9.4</version>
<executions>
<execution>
<phase>generate-sources</phase>
<goals>
<goal>update</goal>
</goals>
<configuration>
<connectionType>developerConnection</connectionType>
<scmVersion>master</scmVersion>
<scmVersionType>branch</scmVersionType>
<checkoutDirectory>${project.basedir}/src</checkoutDirectory>
<workingDirectory>${project.basedir}/src</workingDirectory>
</configuration>
</execution>
</executions>
</plugin>
org.apache.maven.plugins
改变SCM插件目标的灵感来自于ỗ NhưVý(上图)
方法是
将目标放置在名为scm.goal的属性中,并将其设置为默认值
ie更新李>
使用配置文件(引导)更改scm.goal属性值
“更新”为“签出”
根据丢失的.gitignore文件激活引导配置文件
将属性scm.goal放置在scm插件中
目标要素
代码:
${project.basedir}/src
更新
独自创立
./src/.gitignore
结账
org.apache.maven.plugins
maven scm插件
1.9.4
生成源
${scm.goal}
开发人员连接
主人
分支
${scm.dest.path}
${scm.dest.path}
...
改变SCM插件目标的灵感来自于ỗ NhưVý(上图)
方法是
将目标放置在名为scm.goal的属性中,并将其设置为默认值
ie更新李>
使用配置文件(引导)更改scm.goal属性值
“更新”为“签出”
根据丢失的.gitignore文件激活引导配置文件
将属性scm.goal放置在scm插件中
目标要素
代码:
${project.basedir}/src
更新
独自创立
./src/.gitignore
结账
org.apache.maven.plugins
maven scm插件
1.9.4
生成源
${scm.goal}
开发人员连接
主人
分支
${scm.dest.path}
${scm.dest.path}
...
谢谢,如果项目未使用签出引导,更新将失败。如何根据签出是否完成自动在签出和更新之间切换?我澄清了这个问题。这个链接可能对你有帮助:谢谢,我想自动切换。我编辑了这个问题来澄清这个问题,给这个解决方案一个尝试的机会:将属性设置为default valueskipCheckoutIfExists=false
Awesome,看起来它可以工作了。。。让我使用配置文件尝试其他一些选项。brb如果没有使用签出引导项目,则更新失败。如何根据签出是否完成自动在签出和更新之间切换?我澄清了这个问题。这个链接可能对你有帮助:谢谢,我想自动切换。我编辑了这个问题来澄清这个问题,给这个解决方案一个尝试的机会:将属性设置为default valueskipCheckoutIfExists=false
Awesome,看起来它可以工作了。。。让我使用配置文件尝试其他一些选项。马上回来