gpt4 book ai didi

intellij-idea - 如何在另一个模块中制作 IntelliJ 引用源代码?

转载 作者:行者123 更新时间:2023-12-03 12:18:30 30 4
gpt4 key购买 nike

我有一个典型的项目结构:

- root-dir (not a project)
\- core-module (a gradle project)
\- application (a gradle project)

core-moduleapplication 都导入到 IntelliJ 中并保持自动导入。在applicationbuild.gradle中,core-module被引用为:

compile('my-group-id:core-module:0.2.0-SNAPSHOT')

其中 0.2.0-SNAPSHOT 是在 core-modulegradle.properties 中声明的当前版本。

application 中,当我尝试查看 core-module 中的类时,我被带到了 core-module-0.2 中的源代码。 0-SNAPSHOT-sources.jar,而不是core-module模块中对应的源码。

我知道我可以在 application 中手动添加 core-module 作为模块依赖,但是下次在 application 中添加任何东西>build.gradle 更改,自动导入将覆盖该依赖项。

有什么方法可以让 IntelliJ 自动识别我正在尝试从另一个模块查看类并转到那里而不是下载的源 jar?

此外,有没有办法让 IntelliJ 总是更喜欢 core-module 模块而不是依赖 jar,不仅用于代码查看,还用于构建/运行/调试等?

所有源文件都在 Kotlin 中,FWIW。

最佳答案

使用 Gradle 的复合构建。 Gradle 具有复合构建 https://docs.gradle.org/4.4/userguide/composite_builds.html这允许人们直接“包含”构建,而不是从存储库。

IntelliJ 也支持这个功能。这是在 2016.3 中添加的。

这是一个网络广播:https://blog.jetbrains.com/idea/2017/03/webinar-recording-composite-builds-with-gradle/

在 Gradle 选项卡中,右键单击您的应用程序模块。该菜单将有一个“复合构建”选项。在出现的对话框中,选中“核心模块”模块并关闭。

现在,右键单击应用程序模块并执行“刷新 Gradle 项目”。我发现如果我不这样做,依赖项就不会正确更新。

要验证,请查看 sourceSets 下的依赖项。它现在看起来像一个模块依赖项,而不是版本号。

这提供了很多好处。一个是您正在寻找的导航。此外,在核心模块中所做的任何更改都会立即可用,并用于应用程序。

重构应用程序使用的核心模块中的方法,IntelliJ 将重构所有用法。

尽情享受吧!

关于intellij-idea - 如何在另一个模块中制作 IntelliJ 引用源代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47851308/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com