当前位置: 首页 > 知识库问答 >
问题:

如何生成maven metata。带有maven publish和artifactory gradle插件的xml?

顾永福
2023-03-14

我在groovy中编写了一个Gradle插件,并使用Gradle来构建它。我有一个本地网络艺术工厂服务器,我使用Gradle中的Gradle艺术工厂插件和maven-发布插件将结果发布到该服务器。我有另一个Gradle构建脚本,它依赖于此插件作为依赖项。如果我用特定的版本列出我的依赖项,我就能够让这一切正常工作。我尝试过使用maven版本范围(例如,“[1.0,2.0)”),但这失败了,因为它找不到maven-metadata.xml.我检查了艺术工厂,果然,它不在那里。我需要做些什么来生成它,最好是在构建插件的过程中?

这是构建。我的自定义gradle插件的gradle文件:

buildscript {
    repositories {
        maven {
            url "${artifactory_contextUrl}/plugins-release"
            credentials {
                username = "${artifactory_user}"
                password = "${artifactory_password}"
            }
        }
    }
    dependencies {
        classpath group: 'org.apache.directory.studio', name: 'org.apache.commons.io', version: '2.4'
        classpath group: 'org.jfrog.buildinfo', name: 'build-info-extractor-gradle', version: '2.0.9'
    }
}

plugins {
    id 'com.jfrog.artifactory' version '3.0.1'
}

apply plugin: 'groovy'
apply plugin: 'maven-publish'

artifactory {
    contextUrl = "${artifactory_contextUrl}"
    publish {
        repository {
            repoKey = 'plugins-snapshot-local'
            username = "${artifactory_user}"
            password = "${artifactory_password}"
            maven = true
        }
        defaults {
            publications ('mavenJava')
        }
    }
    resolve {
        repository {
            repoKey = 'libs-release'
            username = "${artifactory_user}"
            password = "${artifactory_password}"
            maven = true
        }
    }
}

dependencies {
    compile gradleApi()
    compile localGroovy()
}

publishing {
    publications {
        mavenJava(MavenPublication) {
            from components.java
        }
    }
}

我搜索了Gradle、Artifactory和Maven文档,以了解Maven元数据。xml以及如何生成和部署。这是有道理的,我可能可以手动构建一个,但我找不到任何具体说明如何使用maven publish插件或artifactory Gradle插件在Gradle中自动生成它的内容。我不想手动更新文件,因为这会挫败自动化工作,我也不想切换到mvn,因为我已经在Gradle上投入了大量资金。

共有3个答案

司徒浩思
2023-03-14

maven元数据。xml应该由Artifactory处理。你在Artifactory中的本地存储库布局是什么?

高宏峻
2023-03-14

我也遇到了同样的问题,结果证明Artifactory存储库不是Maven repo,而是一个通用的repo。我花了很长时间才注意到这一点,因为我没有创建回购协议,我认为这是一个Maven回购协议,而部署/解决其他方面的问题正如期进行
切换到Maven repo后,Maven元数据。xml是在发布时生成的。

唐昊焜
2023-03-14

必须将groupId添加到publications部分。一旦实现,maven元数据。xml文件已发布到工件存储库。

publishing {
    publications {
        mavenJava(MavenPublication) {
            groupId = 'com.group'
        }
    }
}
 类似资料:
  • 问题内容: 我有maven项目,我想从现有实体生成DDL。 我怎样才能做到这一点? 我可以生成DDL的任何Maven插件吗? 我正在使用JPA。(open jpa) 问题答案: openjpa-maven-plugin插件提供了一个目标。使用此目标,可以从现有实体创建DDL。

  • 我只是将代码从swagger代码生成器迁移到open api代码生成器。我通过maven插件使用生成器。我需要它为一个外部API(在我的控制之外)生成一个客户端,这里给出了使用的swagger文件。 我的插件设置如下: 为了有一个最小的例子,我把昂首阔步的来源去掉了: 当生成器运行正常时,代码无效 结果列表«GenericRow»完全错误。 另一方面,类的名称是正确生成的只有变量名称处理错误。 如

  • 我想使用jaxb2-maven-plugin生成java类。我使用以下配置: pom.xml: 模式。xsd: Jaxb2插件正在为我生成以下包信息。爪哇: 但是,我想得到的是: 我生成的文件中缺少前缀。怎么做?我已经尝试创建一个绑定文件,但这并没有达到我的预期效果。

  • 我正在使用maven jaxws插件从我的wsdl模式生成java类。它没有在生成的类中生成@XmlElementWrapper注释。从这篇文章中,我了解到我需要使用jaxb xew插件,但我无法让它与maven jaxws插件一起工作。任何帮助都将不胜感激。这是我试过的配置 如果它只能与maven-jaxb2-plugin集成,你能帮我升级我的Web服务吗?本质上,我该如何指定wsdl以及如何生

  • 问题内容: 我有以下代码: 我不确定这是否正确,但是我在互联网上发现的信息残片使我认为它应该起作用。基本上,我想分块地流式传输文件,为此,我要从应用程序函数传回一个生成器。但是,这仅打印出标题,而实际上没有发送回任何数据,有人可以告诉我为什么吗? 或者,如果这是完全错误的,那么执行此操作的最佳方法是什么?我无法将整个文件缓冲在内存中,因为我将要使用的文件可能是千兆字节。 第三级问题:一旦完成输出,

  • 我使用的是maven javadoc插件3.2.0的默认配置,我想生成类似testapidocs的东西,但不幸的是,它只生成NOFRAMES doc。我试着玩了一点,但没有成功。还有其他人有同样的行为吗?当做