java - IntelliJ gradle 添加模块依赖

标签 java intellij-idea gradle

使用 IntelliJ 2016.2。
使用 Gradle 2.14.1

我有 2 个项目,每个项目都有自己的 build.gradle 文件和单独的目录结构:

myLib (meant to be jarred and used by others)
  - build.gradle
  - settings.gradle
  - src/main/java/...

sandbox (spring boot web app)
  - build.gradle
  - settings.gradle
  - src/main/java/...
  - src/main/resources/...

希望你能明白这一点。在 IntelliJ 中,我在同一级别(无子项目)具有以下模块结构:

- myLib
- sandbox

简单的请求...我想使用 myLibsandbox 内应用程序。我希望在同一个项目中同时开发这两个模块。

我已尝试将模块依赖项添加到 sandbox对于 myLib在 IntelliJ 中。没有骰子。我试过添加一个 jar 引用,没有骰子。

我相信我需要在 build.gradle 文件中添加一个依赖项,但无法弄清楚如何。我试过compile files '<path to myLib.jar>'等。没有骰子。

最佳答案

本地模块

这是大多数 Gradle 项目所遵循的模式,其中有一个库,然后是使用该库的示例应用程序 - ref Gradle docs

 - app/
    - build.gradle
    - src/main/java  # where your main class would be 
 - library/
    - build.gradle
    - src/main/java  # dependencies of the app module 
 - settings.gradle
 - build.gradle

在顶级 settings.gradle 你有

include ':library', ':app'

然后在 app/build.gradle 中编译包含的项目

dependencies {
    compile project(':library')
}

基本上,顶层 build.gradle 是子项目和变量的所有常见配置的包装器。例如,它最常用于 Maven url 的 repositories { } 部分。详情请见 Gradle - Multi-project builds

远程模块

以上内容适用于本地工作,但假设您想与许多其他开发人员共享您的存储库,而不需要让他们下载额外的源代码。然后你会将其他库发布到远程服务器。

当您将这些行添加到您的项目时,这就是您已经在做的事情

implementation("org:artifact:version")

如果您的项目在 GitHub 上公开,请使用 jitpack.io 之类的服务.您还可以在 Bintray OSS 或 Maven Central 上设置一个帐户,让您的库像大多数其他库一样可用。

如果您的项目是公司内部的私有(private),您将需要一些 Maven 类型的服务器,无论是通用网络服务器,还是 Nexus 或 Artifactory,您都可以 add that with an addition to the repositories block.

repositories {
    maven { url "http://some.maven.site/" }
}

然后像往常一样添加 compileimplementation 源代码

关于java - IntelliJ gradle 添加模块依赖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38877989/

相关文章:

java - 在 printin 处输入 int

tomcat - 在 IntelliJ 嵌入式 tomcat 部署中重新加载 spring 配置

android - Java.lang.ClassCastException : Android. support.v7.widget.ContentFrameLayout 无法转换为Android.support.v7.widget.ContentFrameLayout

flutter - 在 flutter 运行期间获取多个错误消息(与 gradle 相关)

java - Retrofit 中未正确处理 REST 方法中的参数

java - 故障排除 "The type parameter T is hiding the type T"警告

java - 为什么这段 Java 代码会抛出 NumberFormatException?

java - Intellij idea 中 Junit 运行配置的默认 -Xmx 值是多少?

java - 在 Intellij IDEA 中编写替换正则表达式

hibernate - 在 tomcat 中创建名称为 'dataSource' 的 bean 时出错