Maven Release Plugin带有多个模块,正在寻找测试罐

时间:2018-02-07 12:40:38

标签: java jenkins maven-release-plugin

我有一个相对复杂的多模块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,或者我可以以某种方式跳过这种依赖?

1 个答案:

答案 0 :(得分:0)

好的问题是-Dmaven.test.skip=true没有编译测试源,因此一旦我删除了jar就完全不存在该过程完美无缺