java - `gradle install`如何生成 `pom.xml`文件

标签 java maven gradle pom.xml

当我运行 gradle install 时,它会在每个子项目中生成漂亮的 pom.xml 文件。

在哪里可以看到实现该功能的源代码?

根据 Maven plugin documentation ,有一些关于 Upload 的信息任务,但其文档和源代码没有产生任何具体内容。

最佳答案

您可以将gradle-maven-VERSION.jar添加到您的依赖项中并自行调试插件。相应的源代码位于您的 gradle 安装中,或在 github 上:https://github.com/gradle/gradle/tree/master/subprojects/maven/src/main/java/org/gradle/api/publication/maven/internal

为了让您领先:大部分​​代码位于 DefaultMavenPom 类中。 它是在 DefaultMavenPomFactory.create() 中使用一些虚拟值创建的:

  • MavenProject.EMPTY_PROJECT_GROUP_ID
  • MavenProject.EMPTY_PROJECT_ARTIFACT_ID
  • MavenProject.EMPTY_PROJECT_VERSION

然后,调用AbstractMavenResolver.publish(IvyModulePublishMetadata moduleVersion), 其中,除其他外:

  • 根据 DefaultArtifactPom.assignArtifactValuesToPom() 中的实际 Artifact 填充基本 pom 数据
  • 填充依赖项 - 它们由 DefaultMavenPom.getGeneratedDependency() 填充
  • 写入生成的文件

关于java - `gradle install`如何生成 `pom.xml`文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56329062/

相关文章:

Java IO : CharsetDecoder. 解码()在 Linux 上无法正常工作

java - Facebook Messenger 不发送消息

java - 从 netty ByteBuf 获取字符串

maven - 在 Pom 中将 generateBackupPoms 设置为 False

java - Maven依赖插件不重建依赖

java - 在gradle中的多模块项目中发布的问题

java - 如何为 Action 监听器编写 JUnit?

java - 使用 Karaf 的 features-maven-plugin maven 插件需要帮助... osgi

android - 将 armeabi 和 armeabi-v7a 库与 APK 拆分一起使用

gradle - MapStruct和不可变