具有多模块的 Maven 发布插件,正在寻找测试 jar
Posted
技术标签:
【中文标题】具有多模块的 Maven 发布插件,正在寻找测试 jar【英文标题】:Maven Release Plugin with multi module, is looking for test jars 【发布时间】:2018-02-07 12:40:38 【问题描述】:我有一个比较复杂的多模块java项目
|PARENT
|pom.xml
|-submodule1
|-pom.xml
|--api
|--pom.xml
|--impl
|--pom.xml
|--model
|--pom.xml
|-submodule2
|...
现在我希望我的詹金斯用
创建一个版本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 或者我可以以某种方式跳过这种依赖关系?
【问题讨论】:
这有帮助吗? ***.com/questions/8685100/… 【参考方案1】:好的,问题是-Dmaven.test.skip=true
没有编译测试源,因此一旦我删除了 jar,这个 jar 就根本不存在,这个过程可以完美运行
【讨论】:
以上是关于具有多模块的 Maven 发布插件,正在寻找测试 jar的主要内容,如果未能解决你的问题,请参考以下文章
Spring Boot maven 多模块项目——单元测试(应用上下文)
了解多模块项目中的 Spring Boot Maven 插件