gpt4 book ai didi

java - 在maven中聚合父pom的所有来源

转载 作者:搜寻专家 更新时间:2023-11-01 03:16:25 25 4
gpt4 key购买 nike

为客户交付的部分成果包括我们正在进行的项目的源代码。我将 Maven 与 mvn generate-sources 一起使用。问题在于它包含所有依赖项并聚合每个依赖项的源。我正在尝试使用 groupid 过滤的 .java 文件生成平面结构。

文档对 maven-source-plugin 非常含糊.我所做的所有搜索最终都指向过滤资源,这不是我想要的。

我的项目结构是一个有 child 的父 pom,我正在努力实现这样的目标:

<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>3.0.1</version>
<executions>
<execution>
<id>attach-sources</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
<resouces>
<filter>
<include>com.mygroupid.project</include>
</filter>
</resouces>
</plugin>

我的期望:

  • “胖”结构(所有项目源按包名称聚合在一个目录中)
  • 没有重复的来源
  • 我的源组 id 之外没有代码

编辑:

假设这样的结构:

- module-1 pom.xml  // aggregate project
|- module-1-core (has dependency to module-2 and module-2)
|- module-1-war
- module-2 pom.xml // aggregate project
|- module-2-commons
- module-3 pom.xml // aggregate project
|- module-3-services
- // etc...

我想要存档如下:

- big-fat-code-sources.zip
|- module-1-core sources + test source
|- module-1-war sources + test source
|- module-2-commons sources + test source
|- module-3-services sources + test source
|- // etc...

最佳答案

使用 source:aggregate 目标应该可以解决这个任务:

mvn clean source:aggregate

假设你有以下项目结构

- root pom.xml  // aggregate project
|- module1 // jar module
|- module2 // another jar...

只需在根 pom 中进行以下配置:

<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>3.0.1</version>
</plugin>

并执行上面的命令,它会在target 文件夹中生成一个.jar,其中将包含的所有>模块混合在一起。

More doc为了这个 Maven 目标。

关于java - 在maven中聚合父pom的所有来源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49323642/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com