导入 jar 文件到 kotlin + spring boot + gradle
Import jar file to kotlin + spring boot + gradle
请帮忙,我有两个 spring 使用 Kotlin + DSL + Gradle 的引导项目,但是,我需要将其中一个导入另一个,但是,它不起作用。这是我试过的:
Correct way to add external jars (lib/*.jar) to an IntelliJ IDEA project
并且谷歌搜索了前两篇文章的许多变体,我也尝试过,但它不起作用。此外,我尝试导入生成的“.jar”文件,但是,在一个非 spring 引导项目(简单的控制台应用程序)中并且它在那里工作,我可以从这个外部项目中看到 类。
提前致谢!
附加数据:
科特林:1.5.30 版
IntelliJ IDEA:v. 2021.2.1(社区版)
Gradle: 7.1.1
在这浪费了 2 天后,我设法解决了这个问题,我留下我的解决方案希望它能帮助其他人:
- 使用具有以下特征的 Spring 初始化器 (https://start.spring.io/) 从头开始生成项目:
1.1。项目:Gradle 项目
1.2。语言:Kotlin
1.3。 Spring引导:select最适合你的版本
1.4。项目元数据 - 执行以下操作非常重要:
组:这在parent项目和child项目中必须相同。示例:com.company
Artifact:这应该是区分每个项目的名称(只要不分配给现有项目,您可以输入任何名称)。示例:
api (parent)
-> 验证 (child)
-> 安全 (child)
包名:填写以上数据后,你的每个项目的“包名”应该是这样的:
com.company.api (parent)
com.company.auth (child)
com.company.安全 (child)
将项目正常导入IntelliJ IDEA,等待Gradle构建项目。
非常重要!!!不要更改 Spring Initializer 生成的 类 的名称,这是我最大的问题之一。
在 child 个项目中,始终使用以下命令构建 jar:
gradle 清理构建
注意:.jar 文件生成在/build/libs/ 中,您会发现两个文件,例如项目“auth”:
auth-1.0.0.jar(大码)
auth-1.0.0-plain.jar(小号)
第一个包含了所有的依赖所以比较大,第二个只包含程序员写的类
在 parent 项目 (api") 的根目录下,创建文件夹“libs”或任何您想调用的文件夹,并将所有 .jar您之前在此处生成的 child 个项目的文件。
将以前的文件(包含在“libs”文件夹中)按如下方式导入 parent 项目和 build.gradle.kts 文件(依赖项部分):
依赖关系{
实现(fileTree(mapOf(“dir”到“libs”,“include”到listOf(“*.jar”))))
}
就是这样。没想到这么简单的一个过程,竟然让人头疼。
请帮忙,我有两个 spring 使用 Kotlin + DSL + Gradle 的引导项目,但是,我需要将其中一个导入另一个,但是,它不起作用。这是我试过的:
Correct way to add external jars (lib/*.jar) to an IntelliJ IDEA project
并且谷歌搜索了前两篇文章的许多变体,我也尝试过,但它不起作用。此外,我尝试导入生成的“.jar”文件,但是,在一个非 spring 引导项目(简单的控制台应用程序)中并且它在那里工作,我可以从这个外部项目中看到 类。
提前致谢!
附加数据:
科特林:1.5.30 版 IntelliJ IDEA:v. 2021.2.1(社区版) Gradle: 7.1.1
在这浪费了 2 天后,我设法解决了这个问题,我留下我的解决方案希望它能帮助其他人:
- 使用具有以下特征的 Spring 初始化器 (https://start.spring.io/) 从头开始生成项目:
1.1。项目:Gradle 项目
1.2。语言:Kotlin
1.3。 Spring引导:select最适合你的版本
1.4。项目元数据 - 执行以下操作非常重要:
组:这在parent项目和child项目中必须相同。示例:com.company
Artifact:这应该是区分每个项目的名称(只要不分配给现有项目,您可以输入任何名称)。示例:
api (parent)
-> 验证 (child)
-> 安全 (child)
包名:填写以上数据后,你的每个项目的“包名”应该是这样的:
com.company.api (parent)
com.company.auth (child)
com.company.安全 (child)
将项目正常导入IntelliJ IDEA,等待Gradle构建项目。
非常重要!!!不要更改 Spring Initializer 生成的 类 的名称,这是我最大的问题之一。
在 child 个项目中,始终使用以下命令构建 jar:
gradle 清理构建
注意:.jar 文件生成在/build/libs/ 中,您会发现两个文件,例如项目“auth”:
auth-1.0.0.jar(大码)
auth-1.0.0-plain.jar(小号)
第一个包含了所有的依赖所以比较大,第二个只包含程序员写的类
在 parent 项目 (api") 的根目录下,创建文件夹“libs”或任何您想调用的文件夹,并将所有 .jar您之前在此处生成的 child 个项目的文件。
将以前的文件(包含在“libs”文件夹中)按如下方式导入 parent 项目和 build.gradle.kts 文件(依赖项部分):
依赖关系{ 实现(fileTree(mapOf(“dir”到“libs”,“include”到listOf(“*.jar”)))) }
就是这样。没想到这么简单的一个过程,竟然让人头疼。