maven test-jar的安装部署
Installation and deployment of maven test-jar
我在 Maven 中发现了很棒的 test-jar
工具:https://maven.apache.org/plugins/maven-jar-plugin/examples/create-test-jar.html
但也有可能一个项目需要使用另一个项目的test-jar。从 和实验来看,似乎使用 mvn install
不会将测试罐安装到本地 ~/.m2/repository
。那么我机器上的一个项目如何使用不在同一个聚合 POM 中的另一个项目的测试 jar?
然而,从 Maven deploy not to upload test jar 看来,将项目部署到 Maven Central 实际上确实部署了测试 jar?所以我可以将它部署到 Nexus 但不能在本地安装?如果我将它部署到 Nexus,我使用 <type>test-jar</type>
依赖项的本地项目是否会在 Maven Central 上找到它?
事实证明 maven-jar-plugin
确实在本地 Maven 存储库 ~/.m2/repository/...
中安装了测试 jar(例如 foo-1.2.3-tests.jar
)。精彩!
我的问题是我无意中将 maven-jar-plugin
配置在名为 release
的单独配置文件中。 (我在我的 POM 中复制并粘贴到了错误的位置。)这就是为什么测试 jar 在 mvn install
之后没有出现在我的本地存储库中,这就是为什么它后来突然出现(在我使用之后-P release
一次测试),我第一次看的时候还以为我错过了
我将 maven-jar-plugin
移动到 <build>
部分,一切正常:使用 mvn install
.
将测试 jar 放入本地 maven 存储库
在我的例子中,我为特定的构建配置文件设置了 maven.test.skip
。 属性 实际上导致测试不是 compiled/installed,因此也阻止了它们的部署。解决方案是改为设置 skipTests
属性。
我在 Maven 中发现了很棒的 test-jar
工具:https://maven.apache.org/plugins/maven-jar-plugin/examples/create-test-jar.html
但也有可能一个项目需要使用另一个项目的test-jar。从 和实验来看,似乎使用 mvn install
不会将测试罐安装到本地 ~/.m2/repository
。那么我机器上的一个项目如何使用不在同一个聚合 POM 中的另一个项目的测试 jar?
然而,从 Maven deploy not to upload test jar 看来,将项目部署到 Maven Central 实际上确实部署了测试 jar?所以我可以将它部署到 Nexus 但不能在本地安装?如果我将它部署到 Nexus,我使用 <type>test-jar</type>
依赖项的本地项目是否会在 Maven Central 上找到它?
事实证明 maven-jar-plugin
确实在本地 Maven 存储库 ~/.m2/repository/...
中安装了测试 jar(例如 foo-1.2.3-tests.jar
)。精彩!
我的问题是我无意中将 maven-jar-plugin
配置在名为 release
的单独配置文件中。 (我在我的 POM 中复制并粘贴到了错误的位置。)这就是为什么测试 jar 在 mvn install
之后没有出现在我的本地存储库中,这就是为什么它后来突然出现(在我使用之后-P release
一次测试),我第一次看的时候还以为我错过了
我将 maven-jar-plugin
移动到 <build>
部分,一切正常:使用 mvn install
.
在我的例子中,我为特定的构建配置文件设置了 maven.test.skip
。 属性 实际上导致测试不是 compiled/installed,因此也阻止了它们的部署。解决方案是改为设置 skipTests
属性。