Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Deployment 如何在我的maven repo中显式保存支持cobertura的JAR?_Deployment_Maven_Jenkins_Maven Assembly Plugin_Cobertura - Fatal编程技术网

Deployment 如何在我的maven repo中显式保存支持cobertura的JAR?

Deployment 如何在我的maven repo中显式保存支持cobertura的JAR?,deployment,maven,jenkins,maven-assembly-plugin,cobertura,Deployment,Maven,Jenkins,Maven Assembly Plugin,Cobertura,因此,我们在Jenkins中持续集成了maven构建。我们有许多模块构建,它们打包在一个组装构建中。然后,程序集构建是我们的集成测试构建的一个依赖项,它安装完整的包,启动它,运行测试,然后关闭它。我们有在模块单元测试上运行的夜间cobertura报告,但是现在我们需要来自集成测试的夜间cobertura报告。我对我们使用的为cobertura报告设置定制构建的能力感到满意 问题是,我不想一直这样做,那么如何在maven存储库中区分这个jar呢?是否有某种方法可以使用描述符ref(比如带有依赖项的

因此,我们在Jenkins中持续集成了maven构建。我们有许多模块构建,它们打包在一个组装构建中。然后,程序集构建是我们的集成测试构建的一个依赖项,它安装完整的包,启动它,运行测试,然后关闭它。我们有在模块单元测试上运行的夜间cobertura报告,但是现在我们需要来自集成测试的夜间cobertura报告。我对我们使用的为cobertura报告设置定制构建的能力感到满意


问题是,我不想一直这样做,那么如何在maven存储库中区分这个jar呢?是否有某种方法可以使用描述符ref(比如带有依赖项的jar)将其放在同一个maven存储库中,但坐标略有不同?接下来的问题当然是如何让装配构建具有不同的坐标?当然,这可能是相同或相似的答案。

我没有正确理解,但如果您想反复使用聚合的jar,您可以使用安装插件吗

让我们明确步骤

  • 整理你的档案
  • 将其安装到本地存储库
  • 使用此文件
为了做到这一点,您应该在聚合文件的阶段之后使用

 <plugin>
   <groupId>org.apache.maven.plugins</groupId>
   <artifactId>maven-install-plugin</artifactId>
   <version>2.3.1</version>
   <executions>
      <execution>
         <phase>anyphase</phase>
         <goals><goal>install-file</goal></goals>
         <configuration>
            <groupId>mygroup</groupId>
            <artifactId>myartifact</artifactId>
            <version>${project.version}</version>
            <packaging>pom</packaging>
         </configuration>
      </execution>
   </executions>
</plugin>

org.apache.maven.plugins
maven安装插件
2.3.1
任何阶段
安装文件
mygroup
我的神器
${project.version}
聚甲醛

然后,只要在需要的坐标下在任何地方引用您的jar即可。

我不是一个真正的专业人士,但我认为您可以专门部署此artfifact(我使用ivy,并为插入仪器的jar提供了一个特殊的部署配置):

看看分类器:

使用分类器部署工件

分类器是用来描述工件的附加文本

artifact-name-1.0-bin.jar artifact-name-1.0-dev.jar

artifact-name-1.0-prod.jar

根据上述工件名称,分类器可以位于 工件的版本和扩展名

bin用于描述工件是二进制的。
dev用于描述工件用于开发。
prod用于描述工件用于生产

要将分类器添加到用于部署的工件中,请设置文本 选择分类器参数

mvn deploy:deploy-file -Durl=file:///C:/m2-repo \
                       -DrepositoryId=some.id \
                       -Dfile=path-to-your-artifact-jar \
                       -DpomFile=path-to-your-pom.xml \
                       -Dclassifier=bin

保存依赖项与传递相关是什么?我的问题是否让人困惑,以至于你发布了一个完全无关的回复,或者我遗漏了什么?仅供参考,你的帖子是关于获取一个可传递依赖项,而不是保存一个。对不起,Jared:)我真的误解了。如果我理解正确,你想再次使用这个聚合罐吗?如果不是这样,请让我更清楚地帮助你。