我在动态版本化大型多模块Maven构建时遇到问题。我有一个如下所示的脚本:
M2_HOME="${HOME}/.m2"
echo $M2_HOME
M2_CACHE="$(pwd)/maven"
ls $(pwd)/maven/
export VERSION="$(cat version/version)"
ln -s $M2_CACHE $M2_HOME
cp aws-infrastructure/Dockerfile XXXX-target/
cp aws-infrastructure/run.sh XXXX-target/
mvn -s XXXX-code/XXXXAggregateBuild/CI/settings.xml -f XXXX-code/XXXXAggregateBuild/pom.xml -DgroupId=com.XX.* -DartifactId=* -DnewVersion="$VERSION" versions:set versions:commit
mvn -s XXXX-code/XXXXAggregateBuild/CI/settings.xml -f XXXX-code/XXXXAggregateBuild/pom.xml dependency:copy-dependencies -Dversion="$VERSION"
cd XXXX-code/XXXXAggregateBuild/
mvn -e -s CI/settings.xml package deploy:deploy-file -DskipTests -Dversion="$VERSION"
ls -alrt third-party-dependency
ls artifact
ls target
当我不包括设置版本步骤时,构建可以正常运行并在artifacts文件夹中生成所有工件。当我尝试使用设置版本进行动态版本控制时,artifacts文件夹为空,并且没有任何内容被推送到我们的artimatic repo。
这是Maven程序集:
<assembly
xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2 http://maven.apache.org/xsd/assembly-1.1.2.xsd">
<id>batch-jar-zip</id>
<baseDirectory></baseDirectory>
<formats>
<format>zip</format>
</formats>
<includeBaseDirectory>false</includeBaseDirectory>
<fileSets>
<fileSet>
<directory>artifact</directory>
<outputDirectory>dist</outputDirectory>
</fileSet>
<fileSet>
<directory>third-party-dependency</directory>
<outputDirectory>lib</outputDirectory>
</fileSet>
</fileSets>
</assembly>
父pom将近1,000 sloc,因此我无法上传整个内容,但是如果有帮助,我可以发布其中的一部分。我从哪里可以开始调查为什么会发生此问题?
答案 0 :(得分:0)
从mvn
运行中发布错误消息将很有帮助。
在versions:set versions:commit
步骤中,您肯定有问题。提交时,实际文件尚未更改。我会将两个目标分为两个单独的步骤。