当前位置: 首页 > 面试题库 >

使用Gradle和Spring Boot时无法发布到本地Maven存储库

邹普松
2023-03-14
问题内容

我有一个非常简单的spring-boot(1.0.2)示例(基于http://spring.io/guides/gs/rest-
service/
),使用Gradle(1.12)创建了一个jar文件。

我正在尝试使用maven或maven-publish gradle插件构建并发布到本地Maven存储库,但出现错误:

无法初始化POM pom-default.xml:无法在/Users/jcc/Documents/stash/hello-
springboot/build/poms/pom-default.xml中验证项目ngdc.sample:hello-springboot的POM

而且不明白为什么。版本,组和archivesBaseName都在build.gradle中指定。一个不依赖SpringBoot的类似项目效果很好。

有人可以建议出什么问题吗?

谢谢!

- 约翰


问题答案:

您可能需要确保也指定了父pom或依赖项管理(取决于您的配置,但是如果您使用的是Spring Boot
Gradle插件,则可能确实需要它)。此处的示例:https : //github.com/spring-
projects/spring-boot/blob/master/spring-boot-integration-tests/spring-boot-
gradle-tests/src/test/resources/installer.gradle

install {
    repositories.mavenInstaller {
        pom.project {
          parent { 
            groupId 'org.springframework.boot'
            artifactId 'spring-boot-starter-parent'
            version "${project.bootVersion}"
          }
        }
    }
}


 类似资料:
  • 我有一个非常简单的spring-boot(1.0.2)示例(基于http://spring.io/guides/gs/rest-service/),使用Gradle(1.12)创建一个jar文件。 我试图使用maven或maven-publish gradle插件构建并发布到我的本地maven repo,但遇到了错误: 无法初始化POM pom-default.xml:无法验证project NG

  • 问题内容: 我正在开发两个相关的项目。其中一个是“助手”,另一个是“主”。我不断地更新“主要”,但是我有时也会更新“助手”。之后,我在gradle的maven插件中运行目标,并在本地maven存储库中获取jar。之后,我在“主要”项目中进行了gradle更新,并链接了更新的jar。 有两个问题。 1)如果仍然使用maven插件,那么如何将源代码也发布到本地Maven存储库中呢? 2)我可以在没有m

  • 我是Gradle、nexus和Maven的新手,并尝试使用Gradle'publish'任务将Maven工件从Jenkins发布到一个新的nexus存储库。Jenkins作业在发布时失败,出现以下错误。我已经在作业中为Nexus提供了用户名和密码。 在第一次发布之前,我们需要在nexus maven存储库中创建文件夹结构吗?并添加maven-metadata.xml?如何生成*.pom.sha和*

  • 我正在开发两个相关项目。其中一个是“帮手”一个,另一个是“主”一个。我在不断地更新“主”,但时不时也在更新“帮手”一个。然后,我在Gradle的maven插件中运行goal,并在本地maven repo中获取JAR。之后,我在“main”项目中进行分级更新,并将更新的jar链接起来。 有两个问题。 1)如果继续使用maven插件,那么如何将源代码发布到本地maven repo中? 2)如果没有ma

  • 问题内容: 我的Maven配置有一个小问题。此处的所有其他问题和答案都不能解决我的问题,因此,我开始了一个新问题。 我的问题是,我的Maven没有使用本地存储库。它总是从远程存储库中获取工件。 当下载工件或构建项目时,它将安装在本地存储库中,因此路径正确。 问题是:当我构建一个SNAPSHOT项目时,它仅安装在本地存储库中(应该是这样,不想每次都将其发布在我的关系上)。当我在pom.xml中构建另

  • 我的Maven配置有一个小问题。这里所有其他的问题和答案都没有解决我的问题,所以我要开始一个新的问题。 我的问题是,我的Maven没有使用本地存储库。它总是从远程存储库中获取工件。 当下载工件或构建项目时,它被安装在本地存储库中,因此路径是正确的。 问题是:当我构建一个快照项目时,它只安装在本地存储库中(应该是这样的,不要每次都在我的nexus上发布)。当我构建另一个项目时,在pom.xml中有前

  • 我是新手,我正在尝试找出如何示例应用程序到我的本地存储库。我可以发布spray项目,但不能发布示例应用程序。通过在

  • 我已经配置Gradle使用新的Maven Publisher插件发布项目工件,不幸的是,这个插件在生成的中存在依赖关系问题-依赖关系的范围而不是。 我的配置是这样的: 发布很简单,只需一个命令: 如何以旧的(工作)方式实现这一点?项目发布时是否可以自动进行项目标记?