【问题标题】:Import jar file to kotlin + spring boot + gradle将jar文件导入kotlin + spring boot + gradle
【发布时间】:2021-11-08 07:43:17
【问题描述】:

请帮忙,我有两个使用 Kotlin + DSL + Gradle 的 Spring Boot 项目,但是,我需要将其中一个导入另一个,但是它不起作用。这是我尝试过的:

Correct way to add external jars (lib/*.jar) to an IntelliJ IDEA project

How do you add local .jar file dependency to build.gradle.kt file?

和谷歌搜索有很多我也尝试过的前两篇文章的变体,但它不起作用。另外,我尝试导入生成的“.jar”文件,但是,在非 Spring 启动项目(简单的控制台应用程序)中,它可以工作,我可以从这个外部项目中看到类。

提前致谢!

补充资料:

Kotlin:诉 1.5.30 IntelliJ IDEA:v. 2021.2.1(社区版) 摇篮:7.1.1

【问题讨论】:

    标签: spring-boot gradle gradle-kotlin-dsl


    【解决方案1】:

    在这浪费了 2 天之后,我设法解决了这个问题,我留下了我的解决方案,希望它能帮助别人:

    1. 使用具有以下特征的 Spring Initializer (https://start.spring.io/) 从头开始​​生成项目:
    • 1.1。项目:Gradle 项目

    • 1.2。语言:科特林

    • 1.3。 Spring Boot:选择最适合你的版本

    • 1.4。项目元数据 - 执行以下操作非常重要:

    • 组:在父项目和子项目中必须相同。示例:com.company

    • Artifact:这应该是区分每个项目的名称(您可以放置​​任何一个,只要它没有分配给现有项目)。示例:

      api(父)

      -> 身份验证(子)

      -> 安全(子)

    • 包名:填写以上数据后,你的每个项目的“包名”应该是这样的:

      com.company.api(父级)

      com.company.auth(子)

      com.company.security(子级)

    1. 将项目正常导入 IntelliJ IDEA 并等待 Gradle 构建项目。

    2. 非常重要!!!不要更改 Spring Initializer 生成的类的名称,这是我最大的问题之一。

    3. 在子项目中,始终使用以下命令构建 jar:

      gradle clean build

      注意:.jar 文件是在 /build/libs/ 中生成的,你会发现两个文件,例如项目“auth”:

    • auth-1.0.0.jar(大号)

    • auth-1.0.0-plain.jar(小号)

      第一个包含所有依赖,所以它更大,第二个只包含程序员编写的类。

    1. 在父项目(“api”)的根目录下,创建文件夹“libs”或任何您想调用的文件夹,并将您之前生成的所有子项目的 .jar 文件放在这里。

    2. 将之前的文件(包含在“libs”文件夹中)导入父项目,如下所示,并在 build.gradle.kts 文件(依赖项部分)中:

    依赖{ 实现(fileTree(mapOf(“dir”到“libs”,“include”到listOf(“*.jar”)))) }

    就是这样。令人难以置信的是,如此简单的过程会引起如此头痛。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-02-08
      • 2018-10-19
      • 2022-08-22
      • 2020-06-09
      • 1970-01-01
      • 2014-08-30
      • 2017-08-16
      • 1970-01-01
      相关资源
      最近更新 更多