Java 11 + Gradle: модуль не найден - PullRequest
0 голосов
/ 04 июля 2019

Я пытаюсь создать приложение Java 11 с модульной архитектурой и поддержкой gradle 5.4.1.Я создал два модуля - первый содержит сервис (без основного класса), который используется вторым модулем, вот структура:

root
-module1
--src
---main
----java
-----com.package1
------Service.java
-----module-info.java
--build.gradle
-module2
--src
---main
----java
-----com.package2
------MyClass.java
-----module-info.java
--build.gradle
build.gradle
settings.gradle

module-info.java из module1:

module module1 {
  exports com.package1;
}

build.gradle из module1:

plugins {
 id 'java'
}
sourceCompatibility = '11'
ext.moduleName = 'module1'
dependencies {
// ...
}
compileJava {
  inputs.property("moduleName", moduleName)
  doFirst {
    options.compilerArgs = [
      '--module-path', classpath.asPath,
    ]
    classpath = files()
  }
}

module-info.java из module2:

module module2 {
  requires com.package1;
}

build.gradle из module2:

plugins {
 id 'java'
}
sourceCompatibility = '11'
ext.moduleName = 'module2'
dependencies {
  compile project(':module1')
// ...
}
compileJava {
  inputs.property("moduleName", moduleName)
  doFirst {
    options.compilerArgs = [
      '--module-path', classpath.asPath,
    ]
    classpath = files()
  }
}

root / settings.gradle:

rootProject.name = "root"
include 'module1'
include 'module2'

root / build.gradle:

plugins {
 id 'java'
}

allprojects {
  repositories {
    mavenCentral()
    jcenter()
  }
}

Проблема в том, что когда я запускаю второй модуль gradle, я получаю сообщение об ошибке: moduleне найдено: module1 '.Я погуглил много решений, но ни одно из них не касается пользовательских модулей, а только внешних модулей / библиотек (например, spring.core и т. Д.).Информация о модулях находится в нужном месте в дереве файлов, и у меня не осталось идей, как можно решить эту проблему.Пожалуйста, дайте мне знать, если у вас есть какие-либо идеи, я буду очень признателен за каждую помощь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...