为什么我的 java api 不适用于 gradle 'from components.java' 而 'from components.kotlin'
Why my java api won't work with gradle 'from components.java' but with 'from components.kotlin'
使用存储库 https://repo.theprogramsrc.xyz/repository/maven-public/ 如果您导入工件 xyz.theprogramsrc:simplecoreapi:0.0.1.1-SNAPSHOT
并尝试导入 class xyz.theprogramsrc.simplecoreapi.global.module.Module
您会注意到 IDE 没有'识别导入,但依赖项在依赖项列表中。
现在,如果您尝试使用版本 0.0.1.2-SNAPSHOT
进行相同操作,您会发现现在可以使用导入了。
有什么区别?第 124 行 from components.java
不起作用,但 from components.kotlin
起作用,我的问题是如果我使用 components.kotlin
它不包含阴影也不包含实现,只包含源代码,但是如果我使用 components.java
它包含所有内容,但 ide 将无法识别导入。我认为这可能是 Kotlin 和 shadowjar 的问题...
这里是我的项目供参考:GitHub: TheProgramSrc/SimpleCoreAPI
编辑
我刚刚确认这个问题是一个 IntelliJ 问题,为什么?我真的不知道,一旦我创建的问题可用,我会 post 这里的答案:
可以通过向您的 shadowJar 任务添加以下行来解决此问题:
shadowJar {
// ...
mergeServiceFiles()
exclude('**/*.kotlin_metadata')
exclude('**/*.kotlin_builtins')
// ...
}
感谢以下评论,我解决了我的问题:https://youtrack.jetbrains.com/issue/KT-25709#focus=Comments-27-5180542.0-0
使用存储库 https://repo.theprogramsrc.xyz/repository/maven-public/ 如果您导入工件 xyz.theprogramsrc:simplecoreapi:0.0.1.1-SNAPSHOT
并尝试导入 class xyz.theprogramsrc.simplecoreapi.global.module.Module
您会注意到 IDE 没有'识别导入,但依赖项在依赖项列表中。
现在,如果您尝试使用版本 0.0.1.2-SNAPSHOT
进行相同操作,您会发现现在可以使用导入了。
有什么区别?第 124 行 from components.java
不起作用,但 from components.kotlin
起作用,我的问题是如果我使用 components.kotlin
它不包含阴影也不包含实现,只包含源代码,但是如果我使用 components.java
它包含所有内容,但 ide 将无法识别导入。我认为这可能是 Kotlin 和 shadowjar 的问题...
这里是我的项目供参考:GitHub: TheProgramSrc/SimpleCoreAPI
编辑
我刚刚确认这个问题是一个 IntelliJ 问题,为什么?我真的不知道,一旦我创建的问题可用,我会 post 这里的答案:
可以通过向您的 shadowJar 任务添加以下行来解决此问题:
shadowJar {
// ...
mergeServiceFiles()
exclude('**/*.kotlin_metadata')
exclude('**/*.kotlin_builtins')
// ...
}
感谢以下评论,我解决了我的问题:https://youtrack.jetbrains.com/issue/KT-25709#focus=Comments-27-5180542.0-0