我有一个相对复杂的多模块Java项目
|PARENT
|pom.xml
|-submodule1
|-pom.xml
|--api
|--pom.xml
|--impl
|--pom.xml
|--model
|--pom.xml
|-submodule2
|...
现在我希望我的 jenkins 创建一个版本
release:prepare -Darguments="-Dmaven.javadoc.skip=true -Dmaven.test.skip=true" --batch-mode -Dtag=$RELEASE_VERSION -DreleaseVersion=$RELEASE_VERSION -DdevelopmentVersion=$DEVELOPE_VERSION
然后执行
release:perform -Darguments="-Dmaven.javadoc.skip=true -Dmaven.test.skip=true" --batch-mode -Dtag=$RELEASE_VERSION -DreleaseVersion=$RELEASE_VERSION -DdevelopmentVersion=$DEVELOPE_VERSION
现在的问题是我有一个子模块,其中包含集成测试和功能测试,如放心测试。Maven发布插件正在寻找
Failed to execute goal on project project-workflow:
Could not resolve dependencies for project
com.project.service:service-workflow:jar:1.0.2:
Could not find artifact com.project.service:service-service:service-client:jar:tests:1.0.2
in public (http://ournexus.com:8081/nexus/content/groups/public)
工作流模块中的 maven 声明是
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>sevice-valuation-client</artifactId>
<type>test-jar</type>
<scope>test</scope>
</dependency>
我是否需要将这些测试源部署到 nexus,或者我可以以某种方式跳过这种依赖关系吗?
好的,问题是-Dmaven.test.skip=true
不编译测试源,因此一旦我删除它,jar 就根本不存在,这个过程完美无缺