私はGradleプロジェクトを別のGradleプロジェクトに依存しています。 build.gradleGradleプロジェクトを依存関係として含めようとしましたが、動作しません。
- project1に
- build.gradle
- settings.gradle
- のsrc/
- のProject2
- :私のプロジェクト構造は、このようなものです
- settings.gradle
project1/build.gradle
で - のsrc/
私は依存関係としてproject2
を追加したい:
version '1.0-SNAPSHOT'
apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'idea'
sourceCompatibility = 1.8
repositories {
mavenCentral()
}
sourceSets {
main {
java {
srcDirs = [ 'src' ]
}
}
}
include ':project2'
project(':project2').projectDir = new File("../project2")
dependencies {
compile project(':project2')
}
は、残念ながら、私は常に、このエラーメッセージが出てい
Error:(21, 0) Could not find method include() for arguments [:project2] on root project 'project1' of type org.gradle.api.Project.
私はGradle 3.5を使用しています。コマンドライン(gradle build
)とIntelliJの両方でエラーが発生しました。私は同じ問題(thisとthis)についていくつかのStackOverflowスレッドを見つけましたが、役に立たなかった。
Gradle multi-project documentationには、エラーの原因となる具体的な要件が記載されていません。
私がinclude
を呼び出したままにすると、プロジェクトパスがルートプロジェクトで見つからないというメッセージが表示されます。
また、依存関係をproject1
というサブディレクトリに移動しようとしましたが、成功しませんでした。
私は何が間違っているのだろうと思うのですが、明らかに他の多くの人々が同じ問題を抱えているのではないでしょうか。私はヒントに感謝します。
注:これはAndroidプロジェクトではありません。
'include'は' settings.gradle'という別のファイルで呼び出さなければなりません。試してみてください。 – Opal
ありがとう!私はそれが私が行方不明だったと思います。しかし、今私は、読み取り専用のプロパティprojectDirが設定できないというメッセージを受け取りました。依存関係としてコンパイルプロジェクト( ':..:project2')を指定し、projectDir assigmentを削除することで、私はそれを回避しました。 –
あなたはそれをgradleで行うことはできません。どちらのプロジェクトも、マルチプロジェクトビルド(https://docs.gradle.org/current/userguide/multi_project_builds.html)のサブプロジェクトであるか、コンポジットビルド(https://docs.gradle。 org/current/userguide/composite_builds.html)。 –