Spring Boot、Gradle 和非 Maven 依赖项 [重复]

Posted

技术标签:

【中文标题】Spring Boot、Gradle 和非 Maven 依赖项 [重复]【英文标题】:Spring Boot, Gradle and non-Maven dependencies [duplicate] 【发布时间】:2019-07-16 15:09:38 【问题描述】:

此处为 Java 8、Spring Boot 1.5.8 和 Gradle 4.6。

我正在构建一个 Spring Boot 应用程序并使用内置的 Gradle 任务为其生成一个独立的、可执行的“胖”jar。另一个团队生成了一个依赖项 JAR,我需要将其合并到我的项目中。

几个月后,我们将建立一个二进制存储库,他们将向其发布其库的新版本,我将从中解析/提取。但是现在,我坚持使用有点苛刻的分发模型,他们通过电子邮件向我发送一个版本,我需要弄清楚如何让它与 Gradle 一起工作以将它放在类路径中。

所以...

我的项目位于/home/myuser/workspace/my-spring-boot-app 的机器上。他们已通过电子邮件将其库的第一个版本发送给我,例如some-lib-0.1.0.jar,我已将其下载到,例如/home/myuser/some-lib-0.1.0.jar)。

另一个复杂的(也是重要的!)因素是这个 JAR 没有 pom.xml 文件(还)。他们只是在他们的电子邮件中包含了我已经包含在我的应用程序的build.gradle 文件中的所有依赖项的列表。所以我不认为这个 JAR 的依赖关系会是一个问题,但希望你们都知道它没有 pom.xml,所以不确定这是否意味着我需要编写自己的等等……

我在想象,这里最简单的解决方案是将库安装/导入到我的本地 Maven/Gradle 存储库(无论 mavenLocal() 从哪里解析)?一旦它在那里导入/安装,我可以将mavenLocal() 添加到我的repositories ... 列表中并将其添加为compile 依赖项,对吗?

如果是这样,我如何完成第一部分(在没有 POM 的情况下将其放入 mavenLocal())?如果没有,这里最简单的解决方案是什么?提前致谢!

【问题讨论】:

你试过这个吗:***.com/questions/20700053/…? 【参考方案1】:

调用 Maven 目标 install:install-file(即命令行上的 mvn install:install-file

https://maven.apache.org/plugins/maven-install-plugin/install-file-mojo.html

然后您将generatePom 设置为true。所以像

mvn install:install-file -DgeneratePom=true -DartifactId=somelib -DgroupId=com.somecompany -Dversion=0.1.0

【讨论】:

以上是关于Spring Boot、Gradle 和非 Maven 依赖项 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

QueryDSL、spring-boot 和 Gradle

spring boot + gradle[草稿]

飞舞的spring boot2(52)——Spring Boot Gradle插件

多模块 Spring Boot 项目中的 Gradle 依赖插件

使用Spring Boot Gradle插件的多模块项目

如何在 gradle 中获取 spring-boot 依赖版本?